簡體   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