java - 查找 ArrayList 的 ArrayList 的最大值,key = length

标签 java arraylist

我有一个包含 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/

相关文章:

Java 比较 2 个字符并将它们添加到 ArrayList

java - Android 将数组列表传递回父 Activity

Android - 随机列出按钮

java - 如何在 JDBC 中执行多个查询

java - java 应用程序无法使用 Mac 终端上设置的系统变量

java - java中 new String ("ONE") 和 String one = "ONE"有什么区别?

java - RLE序列,设置一个值

java - ArrayList 是随机选取的

java - 将 XOM 与 NetBeans 结合使用

Java GUI - 加速学习曲线