繁体   English   中英

如何在不使用IndexOf / sublist()方法的情况下,从Java列表中的指定位置忽略所有列表中的所有内容?

[英]How do I get all the items from Java list from specified position ignoring all its previous without using IndexOf/sublist() method?

KeyValueAccess kva = KeyValueAccessFactoryForTestConfig.getConnection(); 列表> keySets = kva.getDistinctPartitionKeys(SavepointDto.class,Integer.valueOf(50));

    List<Pair<String, String>> pairs =
            keySets.stream()
                    .sorted((k1, k2) -> SavepointUtils.compareMinitues(k1.get(1), k2.get(1)))
                    .sorted((k1, k2) -> k1.get(0).compareTo(k2.get(1)))
                    .map(keySet -> Pair.of(keySet.get(0), keySet.get(1)))
                    .collect(Collectors.toList());

    System.out.println("\n");

    int index = pairs.indexOf("2016:6:29:13:27");

    for (int i = index; i < pairs.size(); i++) {
        System.out.println(pairs.get(i));
    }

}

当我尝试从列表中获取任何特定元素的索引时,我正在使用List<Pair<String, String>> ,在我的情况下,我正在获取ArrayIndexOutofBoundException (请参见上面的代码)第一个元素是日期(例如: 2016:6:29:13:27String类型。 因此不能使用indexOfsubstring()方法。

还有其他方法可以通过忽略先前的元素来从特定位置从列表中获取所有元素???

您可以为此使用流( skip前两个元素):

Arrays.asList("a","b","c","d","e").stream()
    .skip(2)
    .collect(Collectors.toList())

或使用subList

    List<String> list = Arrays.asList("a","b","c","d","e");
    list.subList(2, list.size());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM