我正在尝试浏览姓氏列表,我需要一个名称的所有位置。
可以说我有一个列表
List<String> surname=new ArrayList<String>();
我正在尝试在列表中获取"史密斯"的索引。
我可以为此使用索引,但是如果有一个以上的史密斯,我只会得到第一个包含史密斯的索引。
surname.indexOf("Smith")
是否有办法将所有位置与史密斯一起获得?
您本质上必须循环浏览列表并收集索引。
这是使用流进行的一种方法。
List<Integer> indices = IntStream.range(0, surname.size())
.filter(idx -> surname.get(idx).equals("Smith"))
.boxed()
.collect(Collectors.toList());