gpt4 book ai didi

java - 如何在 Java 中按相同字符串进行分组

转载 作者:行者123 更新时间:2023-12-01 09:21:08 25 4
gpt4 key购买 nike

我有一个字符串数组列表,我需要返回相同的字符串数组列表索引。

例如

Arraylist[0]: IPAddress

Arraylist[1]: DomainName

Arraylist[2]: IPAddress

Arraylist[3]: Filesize

输出应该是:

Arraylist[0]
IPAddress|0,2 //0,2 denotes the arraylist index that is of the same

Arraylist[1]
DomainName|1

Arraylist[2]
Filesize|3

知道如何实现这一目标吗?

我所做的是:

for(int i=0; i<arr.size(); i++){
if(arr.get(i).equals(arr.size()-1)){
//print index


}
}

最佳答案

使用 Java8 流

    List<String> strings = Arrays.asList("IPAddress", "DomainName", "IPAddress", "Filesize");
Map<String, List<Integer>> map = IntStream.range(0, strings.size()).boxed().collect(Collectors.groupingBy(strings::get));
System.out.println(map);

输出

{DomainName=[1], Filesize=[3], IPAddress=[0, 2]}

获取有序结果

    Map<String, List<Integer>> map = IntStream.range(0, strings.size())
.boxed()
.collect(Collectors.groupingBy(strings::get, LinkedHashMap::new, Collectors.toList()));

关于java - 如何在 Java 中按相同字符串进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40160676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com