从列表中获取然后将数据放入方法参数中

时间:2014-02-02 05:44:05

标签: java list

我有以下方法,它接受六个参数,其中最后两个参数p5和p6是从数组列表中获取的..

public void generateR(String p1,
            String p2, String p3, String p4,
            String p5, String p6) {

    }

以下列表包含列表中的那些参数(p5,p5)..

erator<CaObject> iterator = iaList.iterator();

现在我需要调用上面的方法,记住一点,在每个列表迭代期间,参数p5和p6的值取自列表

就是这样的

/ / Iterator<CaObject> iterator = ioList.iterator();

//然后调用此方法,但是在p5和p6中,列表的第一个索引的值将先行,然后是第二个索引的值,直到列表结束

  public void generateR(String p1,
            String p2, String p3, String p4,
            String p5, String p6) {

    }

他以这种方式支持在列表中输入P5和p6的值。

List<Pair> pairList = new ArrayList<Pair>();
        Map<Long, Integer> result = new LinkedHashMap<Long, Integer>();
        for (Object[] arr : list) {
            result.put((Long) arr[0], (Integer) arr[1]);

        }

请告知如何实现此目的

3 个答案:

答案 0 :(得分:0)

尝试使用varargs generateR(String... p)或字符串数​​组generateR(String[] p)重写此方法

答案 1 :(得分:0)

非常糟糕的方法设计方法。

是的,使用数组作为方法的参数,或者As Alexander建议使用VarArg方法。

generateR(String[] stringArray)

您可以根据需要初始化此数组,也可以根据需要初始化此参数。

希望这有帮助!

祝你好运!

答案 2 :(得分:0)

private void listWalker(String p1, String p2, String p3, String p4, Collection<String> list)
{
   for(int i = 1; i < list.size(); i+=2)
   {
      generateR(p1, p2, p3, p4, list.get(i-1), list.get(i));
   }
}

该函数接受4个固定参数并从列表的第二个元素开始迭代列表。在每次迭代中,索引计数器增加2.如果列表具有奇数个元素,则将忽略最后一个。 在for循环体中,使用4个方法参数和列表中的两个元素(即前一个和当前元素)调用该方法。