본문 바로가기
Language/Java

자바 addAll 으로 list에 배열, 다른 list, set을 넣는 방법

by wakestand 2021. 10. 6.
반응형

자바에서 많이 사용하게 되는 경우 중 하나가

배열(Array), List, Set 에서

Array, List, Set 으로 옮겨주는 경우인데

(array to list(set) ..)

 

대부분은 for 문을 사용해 옮기곤 하는데

이게 하다보면 엄청나게 귀찮다

 

하지만 List와 Set은 Collection을 상속하기 때문에

addAll이라는 엄청난 메소드를 사용할 수 있는데

 

보면 addAll 메소드는

파라미터가 Collection 타입이기 때문에

Collection을 상속하기만 하면

 

통곡의 for문 노가다를 사용하지 않고도

쉽고 편하게 넣을 수 있게 된다

(List, Queue, Set은 Collection 상속)

 

위 이미지의 예제에서도

List와 Set은 Collection을 상속하기 때문에

그냥 넣어주기만 하면 ArrayList건 LinkedList건

상관없이 그냥 쭉쭉 들어간다

 

반면 Array(배열)은 Collection을 상속하지 않기 때문에

Array.asList(배열명);

을 통해 List 타입으로 만들어준 후에

addAll을 사용해주면 잘 들어가는 것이 보인다

 

마지막으로 예제에 사용한 코드는 아래와 같다

 

public static void main(String[] args) {
	
	List<String> list = new ArrayList<String>();
	Set<String> set = new HashSet<String>();
	Vector<String> vector = new Vector<String>();
	String[] arr = {"D"};
	
	list.add("A");
	set.add("B");
	vector.add("C");
	
	list.addAll(set); // 전체 삽입(자동으로 맨 뒤에)
	list.addAll(0, vector); // 삽입할 인덱스 위치 지정
	list.addAll(Arrays.asList(arr));
	
	System.out.println(list);
}
반응형

댓글