I have written the below code in Java and trying to convert the same to Java 8. The code works as expected for the input (a List created by createTempList method) and output(a map whose key is the 1st decimal of the string and value is the other decimals of the string)
public static void main(String[] args) {
List<String> tempList = createTempList();
createMap8(tempList);
}
public static Map<String,List<String>> createMap8(final List<String> tempList) {
Map<String,List<String>> vlanFoos = new HashMap<String,List<String>>();
for(int i=0; i< tempList.size(); i++) {
String[] idsI = tempList.get(i).split("\\.");
String vlanI = idsI[0];
List<String> fooList = new ArrayList<String>();
for(int j = 0 ; j < tempList.size() ; j ++) {
String foo = "";
String[] idsJ = tempList.get(j).split("\\.");
String vlanJ = idsJ[0];
if(vlanI.equals(vlanJ)) {
for(int k = 1; k < idsJ.length; k++) {
foo = foo + idsJ[k];
if(idsJ.length - k != 1) {
foo = foo + ".";
}
}
}
if(!foo.isEmpty()) {
fooList.add(foo);
}
}
vlanFoos.put(vlanI, fooList);
}
return vlanFoos;
}
Input :
private static List<String> createTempList() {
List<String> tempList = new ArrayList<String>();
tempList.add("1.24.75.13.45.91.0");
tempList.add("1.88.213.110.66.182.127");
tempList.add("1579.204.45.224.38.12.161");
tempList.add("1580.204.45.224.38.12.161");
tempList.add("21.204.45.224.38.12.161");
tempList.add("39.204.45.224.38.12.161");
tempList.add("5.12.244.213.2.178.192");
tempList.add("5.204.45.224.38.12.161");
tempList.add("5.212.202.109.116.154.217");
tempList.add("5.212.202.109.116.154.218");
tempList.add("5.40.153.58.148.24.67");
tempList.add("5.76.177.205.33.164.80");
tempList.add("5.84.236.47.13.223.64");
tempList.add("5.88.213.110.66.182.128");
return tempList;
}
Output :
{1=[24.75.13.45.91.0, 88.213.110.66.182.127],
1579=[204.45.224.38.12.161],
5=[12.244.213.2.178.192, 204.45.224.38.12.161, 212.202.109.116.154.217, 212.202.109.116.154.218, 40.153.58.148.24.67, 76.177.205.33.164.80, 84.236.47.13.223.64, 88.213.110.66.182.128],
39=[204.45.224.38.12.161],
1580=[204.45.224.38.12.161],
21=[204.45.224.38.12.161]}