Java Set, List 기본

joDMSoluth·2021년 6월 12일
0

Set

  • Set은 중복 값을 삽입할 수 없음
  • Set은 특정한 순서를 가지고 있지 않음 -> 인덱스로 값을 가져올 수 없음
  • 종류: HashSet, LinkedHashSet, TreeSet

예제

import java.util.HashSet;
import java.util.Iterator;

public class SetTest {
	
  public static void main(String[] args) {
    HashSet<String> set = new HashSet<String>(); // set 선언

    set.add("a");
    set.add("b");
    set.add("b"); // set에 중복값 저장 불가 
    set.add("c"); // set에 값 담기

    System.out.println("set 크기 확인 : " + 
    set.size());

    Iterator<String> iter = set.iterator(); // set을 Iterator 안에 담기
    while(iter.hasNext()) { // iterator에 다음 값이 있다면
        System.out.println("iterator : " + iter.next()); // iter에서 값 꺼내기
    }
  }
}

List

  1. 배열과 다르게 크기를 자유롭게 설정 가능
  2. 배열은 Direct access, Sequential Access 모두 가능, Lsit 는 Sequential Access만 가능

대표 메소드

  1. List 추가
    • 리스트명.add("값")
  1. List 삭제

    • 리스트명.remove("값");
    • 리스트명.remove(인덱스)
  2. List 값 변경

    • 리스트명.set(인덱스, "바꿀값");
  3. List 크기 확인

    • 리스트명.size();
  4. List에 특정 값 들었는지 확인

    • 리스트명.contains("값");
  5. List가 비었는지 확인

    • 리스트명.isEmpty();
  6. List 안에 List, Set, 배열 전체 더하기

    • 리스트명.addAll(다른컬렉션명(List, Set..));
    • 배열도 합쳐줄 수 있음
    • 리스트명.addAll(Arrays.asList(배열명)); -- 배열의 경우
public static void main(String[] args) {
  ArrayList<String> list = new ArrayList<String>(); // List 선언(ArrayList)
  LinkedList<String> list2 = new LinkedList<String>(); // List 선언(LinkedList)
		
  list2.add("E");
  list.add("A");
  list.add("B");
  list.add("C"); // List 추가
  list.add(0, "D"); // 0번째에 D값을 추가(동일한 값이 있을 경우 밀어냄)
  System.out.println("List 값 확인 : " + list);
  System.out.println("List 인덱스 값 확인 : " + list.get(0));
		
  list.remove(2); // List 삭제(인덱스)
  list.remove("B"); // List 삭제(값으로)
		
  list.set(0, "Z"); // List 값 변경 (인덱스, "변경할 값")
		
  System.out.println("List 크기 확인 : " + list.size());
		
  System.out.println("List 안에 특정 값 들었는지 확인 : " + list.contains("B"));
		
  System.out.println("List 안에 아무것도 들지 않았는지 확인 : " + list.isEmpty());
		
  list.addAll(list2); // 리스트에 다른 리스트 더하기
  String[] arr = {"ARRAY"};
  list.addAll(Arrays.asList(arr)); // 배열을 리스트로 더하기
  System.out.println("List 안에 다른 리스트 더하기 : " + list);
}
profile
풀스택이 되고 싶은 주니어 웹 개발자입니다.

0개의 댓글