2012-06-21 4 views
0

ArrayList<HashMap<String, Object>>을 다른 ArrayList<HashMap<String, Object>>에 넣으 려합니다. 어떻게해야합니까?hashmap의 arraylist를 다른 사람에게 넣으십시오

나는 대입 연산자 (=)로 시도하고 있었지만, 참조를 가리키고 있다는 것을 알았고, 그 요소를 다른 곳에 넣고 싶습니다.

+0

그래서 'HashMap'내에있는 객체를 포함하여 모든 것을 복사하고 싶습니까? – arshajii

+0

예 .................. – Rookie

답변

1

이 시도 두 목록의 크기가 동일해야합니다.

+0

addAll 사용에 대한 귀하의 요점을 놓 쳤습니다. 하지 않을 이유가 있습니까? – Miquel

+0

addAll에 관해서는 아무 것도 말하지 않았습니다. 내 방식은 꽤 빠르지 만 더럽지 만, 실제로 눈을 뜨게하려면 ArrayList.java의 addAll() 소스를 살펴보십시오. – Jason

+0

그는 미안하지만, 정말로 요점을 말하지 않았습니다. 나는 그것을 만들고 있었다고 추측한다. addAll은 더 작고 똑같을 것이다. – Miquel

4

addAll 방법을 사용할 수 있지만 HashMaps가 복제되지 않으며 개체가 훨씬 적습니다.

List<HashMap<String, Object>> newList = new ArrayList<HashMap<String,Object>>(); 
for (HashMap<String, Object> hm: oldList) { 
    newList.add(hm); 
} 
1

당신은 새로운 ArrayList 개체를 만들 수 있습니다 단지 addAll 메소드를 호출하고

또 다른 방법은 Collections.copy(desc,src)입니다 복사 할 ArrayList를 통과 그러나 이것은 때문에 가능하지 않습니다 :

관련 문제