数组列表<String>索引的替代方法,用于为所有仓位不仅提供第一个



我正在尝试浏览姓氏列表,我需要一个名称的所有位置。

可以说我有一个列表

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());

相关内容

最新更新