자바 메서드 및 문법 실습 3

이종훈·2025년 6월 27일
2

개발 일지

목록 보기
16/21
post-thumbnail

List

자바의 여러 타입 중 List라는 타입을 많이 사용하며, List는 배열과 비슷하지만 조금 다른 점이 있습니다.
가장 대표적인 차이점은 List는 크기를 고정하지 않는 동적 배열이기 때문에, 배열과 달리 초기 크기를 설정하지 않아도 된다는 점입니다. 동적 배열이기 때문에 내부적으로 요소가 추가될 때마다 필요한 만큼 배열의 크기를 확장합니다. 따라서 처음에 배열의 크기를 지정하지 않아도 되고, 리스트에 아이템을 추가할 때마다 자동으로 크기가 늘어납니다.

List 생성 및 add 메서드

List<String> find = new ArrayList<>();  
find.add("tank"); 
find.add("kick");  
find.add("know");  

System.out.println(find);  // [tank, kick, know]

따라서 위와 같이 최초 선언 시 크기를 지정하지 않고 () 빈 값으로 리스트를 생성합니다.
리스트에 값을 추가할 때는 add 메서드를 사용합니다.

contains() 메서드

for(int i = 1; i < length; i ++) {
	wordLength = words[i-1].length();
            
    if(words[i-1].charAt(wordLength-1) != words[i].charAt(0)) {
    	answer[0] = (i % n) + 1;
        answer[1] = (i / n) + 1;
        return answer;
    } else if(find.contains(words[i])) {
        answer[0] = (i % n) + 1;
        answer[1] = (i / n) + 1;
        return answer;
   	} else {
        find.add(words[i]);
   }
   
 }

또한 리스트에서 자주 사용되는 메서드로 contains()가 있으며, 이는 리스트에서 특정 값을 조회할 때 사용합니다.

이외 메서드

  • .add((index), val): 순서대로 리스트를 추가, 배열 사이즈 초과 시 초기 설정된 사이즈만큼 자동으로 사이즈가 증가함, 인덱스를 추가로 지정해주면 해당 인덱스에 값을 삽입
  • .get(index): 해당 인덱스의 값 반환
  • .set(index, val): 인덱스로 값 변경
  • .indexOf(val): 값을 제공하면 해당 값의 첫번째 인덱스를 반환
  • .lastindexOf(val): 해당 값의 마지막 인덱스 반환
  • .remove(index or val): 해당 인덱스의 값 or 해당 값 중 첫번째 값 삭제
  • .contains(val): 해당 값이 배열에 있는지 검색해서 true / false 반환
  • .containsAll(val1, val2...): argument로 제공한 컬렉션의 모든 값이 포함되어 있는지 여부를 true / false로 반환
  • .toArray(): ArrayList 타입의 인스턴스를 일반 배열 타입으로 반환, 저장할 배열 타입에 맞춰 자동 형변환, 배열 크기 또한 자동으로 맞춰서 바꿔줌
  • .clear(): 값 모두 삭제
  • .isEmpty(): 비었으면 true, 하나라도 값이 있으면 false 반환
  • .addAll(arr2): 두 컬렉션을 합침
  • .retainAll(arr2): argument로 제공한 컬렉션 내에 들어있는 값을 제외하고 모두 지워줌
  • .removeAll(arr2): argument로 제공한 컬렉션 내에 들어있는 값과 일치하는 값을 모두 지워줌, retainAll() 메소드와 반대
  • .size(): 요소 개수 반환 - 리스트의 전체 요소의 개수를 반환
  • Collections.frequency(list, val) - list 내부의 val 요소의 개수를 반환

참고 자료

https://da2uns2.tistory.com/entry/Java-ArrayList-%EC%82%AC%EC%9A%A9%EB%B2%95%EA%B3%BC-%EC%A3%BC%EC%9A%94-%EB%A9%94%EC%86%8C%EB%93%9C

profile
종훈리의 개발일지

1개의 댓글

comment-user-thumbnail
2025년 6월 29일

워 언제다 기억하죠?

답글 달기