개발/Java
arraylist관련
yunzema
2018. 6. 15. 11:52
반응형
ArrayList의 비교와 대입 방법
ArrayList<String> alist = new ArrayList<>();
ArrayList<String> blist = new ArrayList<>();
1. ArrayList의 비교는 비교 연산자 "=="로 두 ArrayList 내용물을 비교할 수 없음(문자열 처럼)
= > if(alist.equals(blist){} -------- 이런식으로 equals를 사용해야함. 순서와 내용물이 같은지를 비교!
2. ArrayList의 복사 - 얕은복사, 깊은복사
= > 1. 얕은 복사(그냥 단순 대입) : alist = blist;
blist의 변화가 alist에도 적용되어있음 ( 즉 서로 연결되어있음 )
2. 깊은 복사 : alist.addall(blist);
서로 영향을 미치지 않음
** .clone()이라는 메서드로도 복사가 가능하다.
2. ArrayList<커스텀 객체>의 Intent putExtra는 getSerializableExtra(" ")와 (ArrayList<커스텀 객체>)캐스팅으로 받아야 함.