두 목록을 원본과 동일한 색인에 머물러있는 두 개의 값을 모두 포함하여 새 목록에 병합하려고하면 새 목록 길이 리스트 A는 무작위 색인에 하나의 숫자를 포함하고, 일부는 null이며, 숫자는 1-3 사이에 있습니다. 목록 B에는 모든 색인에 123이 들어 있습니다. for 루프를 사용하고 목록 추가를 시도했지만 인덱스 추가가 해당 값을 추가 할 때 목록의 내용을 푸시하기 때문에 indexoutofbounds를주었습니다. 임 지금 해시 맵 사용하려고 :두 목록을 새 목록에 병합하고 길이가 길지 않은 동일한 색인에 색인
목록 :이 코드 메신저도 경계와 모자와 mergeballs 밖으로 인덱스를 받고으로
Int arraylength = 10;
ArrayList<Integer> mergeballs = new ArrayList<>(arraylength); // merging list A
// contenent: null,3,null,null,2,3,null,1,null,2
ArrayList<Integer> hats = new ArrayList<>(arraylength); // merging list B
//contenent: 123,123,123,123,123,123,123,123,123,123
ArrayList<Integer> hatsMerged = new ArrayList<Integer>(arraylength); // A & B merged
for (int o = 0; o < stickarray.length; o++) {
HashMap<Integer, Integer> map = new HashMap<Integer, Integer (arraylength);
map.put(o, hats.get(o) + mergeballs.get(o));
hatsMerged.add(o,map.get(o));
System.out.print(hatsMerged.get(o));
}
요약지고, 내가 원하는하지 않습니다. 내가 원하는 : 123,1233,123,123,1232,1233,123,1231,123,1232
어떻게하면됩니까? 그리고 hashmap 최고의 옵션은 무엇입니까?
한 번 병합 된 두 목록은 같은 색인에 항목을 보관할 수 있습니까? 병합되면 병합 된 목록에는 두 목록의 항목이 모두 포함되므로 목록 B의 항목 1은 항목 1이있는 목록 A와 병합되면 해당 색인에 보관 될 수 있습니다. –
모든 색인에서 동일한 값을 포함하는 목록의 요점은 무엇입니까? 게다가 에드윈 달 로조 (Edwin Dalorzo)에 동의합니다. 의심스럽지 않습니다. – Dici