我在字符串数组的流处理中看到了一个有趣的行为。
我正在做这样的事情
String s = "1_2_string";
String[] arr = s.split("_");
final Set<String> CAST_PATTERN = Set.of("string", "string2");
Arrays.stream(arr)
.filter(id -> !CAST_PATTERN.contains(id))
.map(Long::valueOf)
.collect(Collectors.toSet());
预期结果应该是一个集合 [1,2] 但实际结果是 [2,1] Collectors.toSet() 创建一个 HashSet 而不是一个 SortedSet,所以它不应该弄乱数据的顺序。不知道为什么!!
婷婷同学_
相关分类