기초 - ArrayList

chaemin·2024년 4월 16일
0

기초

목록 보기
2/21

1. 함수에서 ArrayList<>를 넘길때

ArrayList<String> list = new ArrayList<>();
list : ["A", "B", "C"]

🚨함수값 수정 X
함수의 인자로 넘겼을때 ArrayList의 값을 수정하지 않고 싶다면
인자값으로 넘길때 아래와 같이 넘겨야한다.

calculate(new ArrayList<>(list), op);

🚨함수값 수정해도 될때

calculate(list, op);

2. 이중 ArrayList<> 선언

반드시 0부터 add해야한다.

ArrayList<ArrayList<Integer>> list = new ArrayList<>();

for(int i = 0; i < N; i++) {
	list.add(new ArrayList<Integer>());
}

3. ArrayList<> remove()

list.remove(1) : 1번째 값을 삭제.

ArrayList<Intger> list = new ArrayList<>();
List<Integer> list = new ArrayList<Integer>(Arrays.asList(5, 4, 3, 2, 1));         // index 1 삭제
list.remove(1);
System.out.println(list); // [5, 3, 2, 1]

list.remove(Integer.valueOf(1)) : 값 1을 삭제.


4. ArrayList to array()

1. ArrayList -> array

list.toArray(new String[0]);			// 자동으로 리스트의 size로 만들어줌
list.toArray(new String[list.size()]);	// 만일 배열의 크기를 더 크게 지정하면 나머지 인덱스는 null로 채워짐.

🚨🚨ArrayList(Integer) -> int[] Array는 좀 다르다!

int[] arr = list.stream().mapToInt(Integer::intValue).toArray();

 

2. array -> ArrayList

  1. Arrays.asList(배열)
    원본 배열과 변환된 List가 동기화 되어있음. 따라서 크기 조정 불가능
ArrayList<String> list = Arrays.asList(arr);
  1. 이렇게 원본 배열의 값과 변환 된 List의 값이 동기화 되는 것을 막기 위해서
    Arrays.asList()로 변환한 List로 새로운 ArrayList 객체를 생성해서 사용할 수 있습니다.
    출처
ArrayList<String> list = new ArrayList<>(Arrays.asList(arr));

0개의 댓글