如何返回arraylist中

时间:2017-03-13 01:21:58

标签: java

static int minValueOfElements(ArrayList<ArrayList<Integer>> input){
    // Return the minimum value in the input list of lists (matrix)
    return 0;
}

我需要获取数组列表中的所有元素,例如:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

需要返回1.

有一个数组列表,其中包含包含元素的数组列表。所以我需要找出如何获得所有这些元素。

2 个答案:

答案 0 :(得分:0)

public Integer getMinimumOfListOfLists(List<List<Integer>> listOfLists) {

    List<Integer> mergedList = new ArrayList<>();
    //merge all
    for(int i=0; i<listOfLists.size(); i++) {
        mergedList.addAll(listOfLists.get(i));
    }

    //sort
    Collections.sort(mergedList);

    // return first element from sorted list - this will be the smallest element
    return mergedList.get(0);

}

这个答案是从所有列表中的所有元素中获取最小元素。不确定你究竟在寻找什么。

答案 1 :(得分:0)

我想让你的意思是: 我认为第一个我们应该压扁列表然后获得最大元素。 如果您使用的是JDK7,我建议使用Guava来解决它。 如果您使用的是JDK8,那将非常简单。 这是一个例子:

import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

public class FlattenCollection {
    public static void main(String[] args) {
        List<List<Integer>> wrapList = new ArrayList<>();
        List<Integer> first = new ArrayList<>();
        first.add(1);
        first.add(2);

        List<Integer> second = new ArrayList<>();
        second.add(3);
        second.add(4);

        wrapList.add(first);
        wrapList.add(second);

        System.out.println(wrapList);

        //JDK7
        List<Integer> result1 = Lists.newArrayList(Iterables.concat(wrapList));//flatten list
        System.out.println(result1);
        Integer max1 = Collections.max(result1);//max element
        System.out.println(max1);

        //JDK8
        List<Integer> result2 = wrapList.stream().flatMap(List::stream).collect(Collectors.toList());//flatten list
        System.out.println(result2);
        Integer max2 = result2.stream().max((o1, o2) -> o1 - o2).get();//max element
        System.out.println(max2);
    }
}

输出:

[[1, 2], [3, 4]]
[1, 2, 3, 4]
4
[1, 2, 3, 4]
4