我有一个包含 ArrayList 的 ArrayList
ArrayList<ArrayList<String>> allChains = new ArrayList<ArrayList<String>>();
我需要找出其中的最大值,key = length。在 python 中,我可以使用下面的方法做同样的事情,如何在 Java 中做同样的事情。
>>> l = [ ["apple", "b", "c"], ["a"], ["a","b","c","d"]]
>>> max(l, key=len)
['a', 'b', 'c', 'd']
最佳答案
您可以使用 Java 8 流:
ArrayList<ArrayList<String>> allChains = new ArrayList<>();
allChains.add (new ArrayList<String>(Arrays.asList ("apple", "b", "c")));
allChains.add (new ArrayList<String>(Arrays.asList ("a")));
allChains.add (new ArrayList<String>(Arrays.asList ("a","b","c","d")));
ArrayList<String> longest = allChains.stream()
.max(Comparator.comparingInt(ArrayList::size))
.get();
System.out.println (longest);
输出:
[a, b, c, d]
关于java - 查找 ArrayList 的 ArrayList 的最大值,key = length,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34248781/