LinkedHashMap<String, MyType>
두 개의 키가있을 수 있습니다. 첫 번째지도의 키는 '키'이고 두 번째지도의 키는 '키'가 될 수 있습니다. 이 두지도를 비교해야하고 키가 동일한 경우 나는 firsMapEntry.getValue()
secondMapEntry.getValue()
가 Collection
그래서 난 컬렉션을 통해 반복에 [new MyObject(firsMapEntry.getValue(), secondMapEntry.getValue())
]지도는 새로운 객체의 속성이 어디에 새로운 객체를 생성하려면 다음 Android : 키가 동일하면 두 개의지도 키를 비교합니다.
firstIterator = firsCollection.iterator();
secondIterator = secondCollection.iterator();
while (firstIterator.hasNext() && secondIterator.hasNext()) {
Map<String, MyType1> firsMap = firstIterator.next();
Map<String, List<MyType2>> secondMap = secondIterator
.next();
firstMapIterator = firstMap.entrySet().iterator();
secondMapIterator = secondMap.entrySet().iterator();
while (firstMapIterator.hasNext() && secondMapIterator.hasNext()) {
Map.Entry<String, MyType1> firstEntry = ((Map.Entry<String, MyType1>) firstMapIterator.next());
Map.Entry<String, List<MyType2>> secondEntry = ((Map.Entry<String, List<MyType2>>) secondMapIterator.next());
// Here I was trying to compare keys but unsuccessfuly
// if keys are equal create new object
My Object object = new MyObject(firsEntry.getValue(),
secondEntry.getValue());
Map<String, MyObject> map = new LinkedHashMap<String,MyObject(); map.put("key", object);
}
}
메소드의 반환 유형은 List<Map<String, MyObject>>
입니다. 내 방법이 효과적인지 모르겠지만 두 키를 비교하고 값에서 새 개체를 만드는 방법. 모든 도움을 주시면 감사하겠습니다. 고맙습니다.
당신이 위의 코드에서 키를 비교하는 경우? 그 조각을 제거하고 의견으로 대체 했습니까? – Swapnil
예 의견은 어디에 있습니까? 비교 키가 필요합니다. 나는 sth했다. if (firstkey.equals (secondKey) {...하지만 결과로 항상 하나의지도를 얻었습니다. – Martin
첫 번째지도에는 '1,2', 두 번째지도에는 '2, 1'이 있습니까? LinkedHashMap을 사용하면 삽입 순서가 중요해 보입니다. 따라서 – fge