
리스트는 순서가 있는 데이터의 집합을 저장하는 자료구조이다. 자바에서 List 인터페이스는 ArrayList,LinkedList등으로 구현된다.
특징 :
주요 메서드 :
add(e) : 리스트의 끝에 요소를 추가한다.get(int index) : 지정한 인덱스의 요소를 반환한다.remove(int index) : 지정한 인덱스의 요소를 제거한다.size() : 리스트의 크기를 반환한다.contains(Object o) : 리스트에 지정된 요소가 포함되어 있는지 확인한다.예시 :
List<String> names = new ArrayList<>(); //1
names.add("Alice");//2
names.add("Bob");
names.add("Charlie");
System.out.println(names.get(1)); //3
ArrayList를 사용해서 문자열을 저장할 수 있는 리스트를 생성한다.Set은 중복되지 않는 유일한 값을 저장하는 자료구조이다. 자바에서 Set 인터페이스는 HashSet,TreeSet,LinkedHashSet 등으로 구현된다.
특징 :
주요 메서드 :
add(e) : Set에 요소를 추가한다.remove(o) :Set에서 지정된 요소를 제거한다.size() : Set의 요소 개수를 반환한다.clear(): 셋의 모든 요소를 제거한다.예시:
Set<Integer> uniqueNumbers = new HashSet<>();
uniqueNumbers.add(1);
uniqueNumbers.add(2);
uniqueNumbers.add(1); // 중복된 요소는 추가되지 않는다
System.out.println(uniqueNumbers); // [1, 2]
HashSet을 사용하고 Integer를 사용하여 정수형 값을 저장할 수 있는 Set을 생성한다.큐는 선입선출(FIFO) 방식으로 요소를 처리하는 자료구조이다. 쉽게 생각한다면 먼저 들어간 것이 먼저 나오는 빨대같은 구조라고 생각하면 된다.
자바에서 Queue 인테페이스는 LinkedList 등으로 구현된다.
-특징 :
선입선출 구조라 요소가 추가된 순서대로 처리된다.
주요 메서드 :
예시 :
Queue<String> queue = new LinkedList<>(); //1
queue.offer("first"); //2
queue.offer("second");
queue.offer("third");
System.out.println(queue.poll()); // first //3
System.out.println(queue.peek()); // second //4
LinkedList를 사용하여 문자열을 저장할 수 있는 큐를 생성한다.queue.offer() : 큐에 요소들을 추가할 수 있다 여기서는 문자열을 추가하였다.맵은 키와 값의 쌍으로 이루어진 데이터를 저장하는 자료구조이다. 자바에서 Map 인터페이스는 HashMap, TreeMap ,LinkedHashMap등으로 구현된다.
특징 :
주요 메서드 :
put() : Map에 키와 값을 추가한다.get() : 지정한 키에 대한 값을 반환한다.remove() : 지정한 키와 해당 값을 제거한다.containsKey() : Map에 지정된 키가 존재하는지 확인한다.size() : Map의 키-값 쌍의 개수를 반환한다.clear() : Map의 모든 키와 값 쌍을 제거한다.예시 :
Map<String, Integer> nameToAge = new HashMap<>(); //1
nameToAge.put("Alice", 30); //2
nameToAge.put("Bob", 25);
nameToAge.put("Charlie", 35);
System.out.println(nameToAge.get("Alice")); // 30 //3