我使用下面的程序从定义的列表中找出所有子列表。请查找以下程序
public static void sublist() {
int position = 2;
List<String> arrlist = new ArrayList<>();
arrlist.add("A");
arrlist.add("B");
arrlist.add("C");
arrlist.add("D");
arrlist.add("E");
System.out.println("Original arrlist: " + arrlist);
for (int i = 0; i < arrlist.size(); i += position) {
int k = arrlist.size() > i + position ? i + position : arrlist.size();
List<String> arrlist2 = arrlist.subList(i, k);
System.out.println("Sublist of arrlist: " + arrlist2);
}
}
输出::
Original arrlist: [A, B, C, D, E]
Sublist of arrlist: [A, B]
Sublist of arrlist: [C, D]
Sublist of arrlist: [E]
以上程序工作正常。
我的问题是,有没有其他简单的方法来使用java 8?
如果要使用Java 8流,可以使用如下“IntStream”:
List<List<String>> arrlist2 =
IntStream.range(0, arrlist.size())
.filter(i -> i % position == 0)
.mapToObj(i -> arrlist.subList(i, Math.min((i + position), arrlist.size())))
.collect(Collectors.toList());
输出此List与System.out.println(arrlist2);
将如下所示:
[[A, B], [C, D], [E]]
重要的是,如果最后一个分区的大小小于其他分区的大小,则需要进行特殊情况处理。
否则,您也可以使用JavaGuava的Lists.partition(参见https://www.geeksforgeeks.org/java-guava-lists-partition-method-with-examples/)
由于Java 9,您还可以使用IntStream。像这样迭代:
List<List<String>> arrlist3 =
IntStream.iterate(0, i -> i < arrlist.size(), i -> i + position)
.mapToObj(i -> arrlist.subList(i, Math.min((i + position), arrlist.size())))
.collect(Collectors.toList());
问题内容: 我有一个数字数组,想从位置“索引”中检索值之一。我查看了Java文档http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Array.html,但我的代码仍未编译。 这是我的方法: 我在代表点的数组中有数字。值索引将是数组实体的位置。我该怎么做才能使这项工作?谢谢 ! 问题答案: 在Java中,数组索引由方括号表示。您可以像
问题内容: 请告诉我如何获取特定行的列值= 123的列名。 问题答案: 结果
问题内容: 因此,我有一个包含几个列表的列表,这些列表都首先包含三个字符串,然后是一个浮点数,例如: 如何制作一个返回最大值的函数(此处为9.1931)?我试过了 但这只是给我一个清单。 编辑:此外,以任何方式我可以获取值来自何处的索引?喜欢,来自哪个子列表? 问题答案: 循环浏览外部列表,然后选择每个子列表的最后一个元素: 最好将所有与函数相关的变量保留在范围内(将列表作为参数传递,并且不要通过
当我使用ListView时-
我是相对较新的python,并试图获得列具有特定值的行。 下面是我的代码示例 然而,当我运行这个我得到一个错误TypeError: ufunc'bitwise_and'不支持的输入类型,和输入不能安全强制任何支持的类型根据铸造规则"安全" 有人知道我为什么会出现这个错误吗?我可以做些什么来返回特定的值?任何帮助都将不胜感激!
问题内容: 有什么方法可以简化此代码,以获取提供的某一列的索引以获取特定行的索引吗?在这种情况下,索引将为,因为我要遍历第一列直到找到“ A”。感觉应该对此有一个linq解决方案,但我无法弄清楚。 问题答案: 如果使用DataTableExtensions.AsEnumerable()方法,则可以使用LINQ查询您的DataTable。然后,您可以用来确定给定谓词的索引: