LIST 3

Java List 에 add() 했을 때 오류 UnsupportedOperationException

오류원인 Arrays.asList() 메소드는 고정길이의 원배열의 list view를 리턴합니다. 즉, 고정길이인 원래 배열의 list view를 리턴하기 때문에 Arrays.asList()를 사용해서 배열을 List로 변환한 후, 길이를 List에 값을 추가하는 것이 불가능하고, 원래 배열의 값을 변경하면 List의 값도 같이 변경됩니다. public class anything { public static void main(String[] args) { Integer[] arr = {1,2,3,4,5}; List list = Arrays.asList(arr); System.out.println(list); list.add(1); } } //출력 [1, 2, 3, 4, 5] Exception in thr..

error , solution 2023.01.20

Java 컬렉션 프레임워크 _ Set(HashSet)

Collection에서 집합의 특성을 가지고 있는 Set은 무엇일까요? Set은 수학에서 집합이라는 의미를 뜻합니다. 우리들이 수학에서 집합 단원을 배울 때 각 집합마다 각 요소들이 순차적으로 들어가는 게 아닌 마치 주머니에 있는 것 같은 모양을 많이 봤습니다. 여기에서 Set은 Collection 인터페이스의 상속을 받는 List와 차이가 나타납니다. List는 주로 순차적인 배열적인 특징을 가지고 있었다면 Set은 무분별한 공간에 저장되는 요소들을 이용하는 특징을 가집니다. 따라서, 각 인덱스마다 정보가 저장되어 같은 값이 저장되더라도 구분되던 List와 다르게 Set은 중복저장을 허용하지 않으며 저장순서를 저장하지 않습니다. 이는, 위 그림과 같이 수학적인 집합으로 생각하면 어찌보면 너무나 당연한 ..

Java/Java 2023.01.14

Java 컬렉션 프레임워크 Iterator

Iterator 란 무엇일까요? Iterator란 자바의 컬렉션(Collection)에 저장되어 있는 요소들을 순회하는 인터페이스입니다. 즉, Collection을 상속받는 List와 Set 인터페이스에서도 사용가능하다는 얘기입니다. Iterator 에는 아래와 같이 총 세 가지 메서드가 있습니다. 다음 요소가 있는지 판단하는 boolean 타입의 hasNext() 다음 요소를 가져오는 next(), 가져온 요소를 삭제하는 remove() next() 메서드와 remove()는 단독으로 사용할 수 없으며 꼭 hasNext() -> next() -> remove() 단계로 사용해야 사용할 수 있습니다. ArrayList list = new ArrayList(); for (int i = 1; i list 요..

Java/Java 2023.01.14