我在 java arraylist 中遇到一个问题。我擅长数据库 :) 我们通常使用 “分组依据”对行进行分组。我想要同样的东西,但在我的一个项目中使用 java 我在 arraylist 中有以下格式
name1:val1
name1:val2
name1:val3
name2:val8
name2:val7
name7:val54
name7:val76
name7:val34
我想转换这个数组列表以得到以下输出:
-name1
val1
val2
val3
-name2
val8
val7
-name7
.
.
.
val34
这不是学校作业 :)。可能对于某些 Java 大师来说,它看起来很小 要做的事。
最佳答案
我喜欢用 map 做那种事。
import java.util.*;
public class DoIt {
public static void main(String[] args) {
List l = new ArrayList<String>();
l.add("name1:val1");
l.add("name1:val2");
l.add("name1:val3");
l.add("name1:val4");
l.add("name2:val1");
Map results = new HashMap<String,String>();
for (Iterator i = l.iterator(); i.hasNext();) {
String s = (String)i.next();
String[] tmp = s.split(":");
if (!results.containsKey(tmp[0])) {
System.out.println("-"+tmp[0]+"\n"+tmp[1]);
results.put(tmp[0], tmp[1]);
} else {
System.out.println(tmp[1]);
}
}
}
}
关于java数组列表格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3089385/