Spring boot 我的JEE代码没有';“不要对待”这个词;如果;集团即使如此';这是真的
我正在尝试创建一个Hashmap的ArrayList,稍后将使用它。 我正在做的是从前面得到一个名为Spring boot 我的JEE代码没有';“不要对待”这个词;如果;集团即使如此';这是真的,spring-boot,jakarta-ee,Spring Boot,Jakarta Ee,我正在尝试创建一个Hashmap的ArrayList,稍后将使用它。 我正在做的是从前面得到一个名为的数组列表,名为groups,另一个名为types 到目前为止,我能够在一个名为typeGroup的ArrayList中得到每个类型及其对应的组,我得到了这个结果typeGroup:[{traitement=FC},{traitement=FP},{traitement=FE},{information=ZD},{information=ZX},{information=ZY},{informat
的数组列表,名为groups,另一个名为types
到目前为止,我能够在一个名为typeGroup的ArrayList
中得到每个类型及其对应的组,我得到了这个结果typeGroup:[{traitement=FC},{traitement=FP},{traitement=FE},{information=ZD},{information=ZX},{information=ZY},{information=ZZ},{report=FP},{report=FD},{report=JD},{ddm=FD},{ddm=FT},{ddm=JD}]
我现在想要的是将它们映射到一个名为newMap的ArrayList
中,但是这次每种类型都有其相应的组,我得到了这个结果newMap:[{information=ZD,ZX,ZY,ZZ},{report=FP,FD,JD},{ddm=FD,FT,JD}]
我的问题是它没有得到它应该给我这个结果的所有对象newMap:[{traitement=FC,FP,FE},{information=ZD,ZX,ZY,ZZ},{raptop=FP,FD,JD},{ddm=FD,FT,JD}]
这是我的密码:
HashMap<String, Integer> countmap = new HashMap<>();
ArrayList<HashMap<String, String>> typeGroup = new ArrayList<>();
ArrayList<HashMap<String, String>> newMap = new ArrayList<>();
Set<String> ty = new HashSet<>(types);
ArrayList<String> arr = new ArrayList<>(ty);
for (int i = 0; i < arr.size(); i++) {
int count = 0;
for (int j = 0; j < types.size(); j++) {
if (arr.get(i).equals(types.get(j))) {
count++;}
}
countmap.put(arr.get(i), count);
}
System.out.println("arr :"+arr);
System.out.println("countmap : " + countmap);
for (int i = 0; i < types.size(); i++) {
HashMap<String, String> TG = new HashMap<>();
TG.put(types.get(i), groups.get(i));
typeGroup.add(TG);
}
System.out.println("typegroup : " + typeGroup);
boolean test = false;
for (int i = 1; i < typeGroup.size()- 1 ; i++) {
String key = "";
System.out.println((typeGroup.get(i).keySet()).equals(typeGroup.get(i + 1).keySet()));
if ((typeGroup.get(i).keySet()).equals(typeGroup.get(i + 1).keySet())) {
if ((newMap.contains(key))) {
for (String str : typeGroup.get(i).keySet()) {
key = str;
}
HashMap<String, String> op = new HashMap<>();
String val = "";
for (int t1 = 0; t1 < countmap.get(key); t1++) {
if (val == "") {
val = typeGroup.get(i).get(key);
} else {
val = val + "," + typeGroup.get(i+t1).get(key)+"%";
}
op.put(key, val);
}
newMap.add(op);
if (test == false) {
i++;
}
test = false;
System.out.println("++++++++");
}
} else {
test = true;
for (String str : typeGroup.get(i + 1).keySet()) {
key = str;
}
HashMap<String, String> op = new HashMap<>();
String val = "";
for (int t = 0; t < countmap.get(key); t++) {
if (val == "") {
val = typeGroup.get(i + 1).get(key);
} else {
val = val + "," + typeGroup.get(i + 1 + t).get(key);
}
op.put(key, val);
}
System.out.println("op :" +op);
newMap.add(op);
i++;
}
}
System.out.println("countmap : " + countmap);
System.out.println("typeGroup : " + typeGroup);
System.out.println("newMap : " + newMap);
由于条件“if((newMap.contains(key))”,代码跳过第一个组的键-在第一次迭代时,键是“”
。请注意,在Java中,列表中第一项的索引是0
——代码中的for
循环以1开头,但这是一个错误。如果问题的模型更好,代码会更简单。Hashmap
不是将两个字符串存储在一起的好结构。为什么不使用e一个简单的类?第二个类用于一个键和多个值的情况?代码跳过第一个组的键,因为条件“if((newMap.contains(key))”—在第一次迭代时,键是“”
。请注意,在Java中,列表中第一项的索引是0
——代码中的for
循环以1开头,但这是一个错误。如果问题的模型更好,代码会更简单。Hashmap
不是将两个字符串存储在一起的好结构。为什么不使用这是一个简单的类吗?第二个类用于一个键和多个值的情况?
types : [traitement, traitement, traitement, information, information, information, information, rapport, rapport, rapport, ddm, ddm, ddm]
groups : [FC, FP, FE, ZD, ZX, ZY, ZZ, FP, FD, JD, FD, FT, JD]
arr :[traitement, rapport, ddm, information]
countmap : {traitement=3, rapport=3, information=4, ddm=3}
typegroup : [{traitement=FC}, {traitement=FP}, {traitement=FE}, {information=ZD}, {information=ZX}, {information=ZY}, {information=ZZ}, {rapport=FP}, {rapport=FD}, {rapport=JD}, {ddm=FD}, {ddm=FT}, {ddm=JD}]
true
false
op :{information=ZD,ZX,ZY,ZZ}
true
true
false
op :{rapport=FP,FD,JD}
true
false
op :{ddm=FD,FT,JD}
true
countmap : {traitement=3, rapport=3, information=4, ddm=3}
typeGroup : [{traitement=FC}, {traitement=FP}, {traitement=FE}, {information=ZD}, {information=ZX}, {information=ZY}, {information=ZZ}, {rapport=FP}, {rapport=FD}, {rapport=JD}, {ddm=FD}, {ddm=FT}, {ddm=JD}]
newMap : [{information=ZD,ZX,ZY,ZZ}, {rapport=FP,FD,JD}, {ddm=FD,FT,JD}]