hrming
[Java] Arrays.asList 본문
Arrays.asList
List<String> list = Arrays.asList(arr);
1. Arrays.asList()는 Arrays의 private 정적 클래스인 ArrayList (java.util.Arrays.ArrayList) 를 리턴한다.
2. java.util.ArrayList 클래스와는 다른 클래스이다.
3. set(), get(), contains() 메서드를 가지고 있지만 원소를 추가하는 메서드는 가지고 있지 않기 때문에 사이즈를 바꿀 수 없다.
List는 내부 구조가 배열로 만들어져 있다. 따라서 asList()를 사용해서 반환되는 List도 배열을 갖게 된다. 이때, asList()를 사용해서 List 객체를 만들 때 새로운 배열 객체를 만드는 것이 아니라, 원본 배열의 주소값을 가져오게 된다. 따라서 asList()를 사용해서 내용을 수정하면 원본 배열도 함께 바뀌게 되고 원본 배열을 수정하면 그 배열로 만들어뒀던 asList()를 이용한 List 내용도 바뀌게 된다. 이러한 이유 때문에 Arrays.asList()로 만든 List에 새로운 원소를 추가하거나 삭제 할 수 없다. |
4. 따라서 Arrays.asList()는 배열의 내용을 수정하려고 할 때 List로 바꿔서 편리하게 사용하기 위함.
참고 /출처1 : https://m.blog.naver.com/roropoly1/221140156345
[JAVA] Arrays.asList()
일반 배열을 ArrayList로 변환한다. Arrays.asList()는 Arrays의 private 정적 클래스인 ArrayList...
blog.naver.com
'Java' 카테고리의 다른 글
[Java] StringUtils(Trim, Truncate) - 문자열 처리 클래스 (0) | 2022.11.29 |
---|---|
[Java] startsWith(), endsWith() (0) | 2022.11.29 |
[Java] isEmpty() 와 isBlank()의 차이 / StringUtils (0) | 2022.11.12 |
[Java] 자바 기본형에 null값이 안들어가는 이유 (0) | 2022.11.12 |
[Java] BigDecimal (0) | 2022.11.11 |
Comments