본문 바로가기
Study/Java

[Java] Collections

by JYHAN 2020. 7. 3.
Interface 구현 Class 설명
List LinkedLIst
Stack
ArrayList
순서 ( O )
중복 ( O )
Set HashSet
TreeSet
순서 ( X )
중복 ( X )
Queue LinkedList
PriorityQueue
순서 ( O )
중복 ( O )
Map HashTable
HashMap
TreeMap
Key, Value 쌍, 순서 ( X )
Key 중복 ( X ), Value 중복 ( O )

List

List는 인터페이스로 이를 구현한 클래스는 인덱스를 이용해서 데이터를 관리한다

List

특징

  • 인덱스를 이용한다
  • 데이터 중복이 가능하다
	public static void main(String[] args) {
		// ArrayList 객체 생성
		ArrayList<String> list = new ArrayList<String>();
		
		// 데이터 추가
		list.add("Hello");
		list.add("Java");
		list.add("World");
		System.out.println("list : "+list);
		
		list.add(2, "Programming");
		System.out.println("list : "+list);
		
		list.set(1, "C");
		System.out.println("list : "+list);
		
		// 데이터 추출
		String str = list.get(2);
		System.out.println("list : "+list);
		System.out.println("Get : "+str);
		
		// 데이터 제거
		str = list.remove(2);
		System.out.println("list : "+list);
		System.out.println("Remove : "+str);
		
		// 데이터 전체 제거
		list.clear();
		System.out.println("list : "+list);
		
		// 데이터 유무
		boolean b = list.isEmpty();
		System.out.println("Empty : "+b);
	}
    
	---- result ----
	list : [Hello, Java, World]
	list : [Hello, Java, Programming, World]
	list : [Hello, C, Programming, World]
	list : [Hello, C, Programming, World]
	Get : Programming
	list : [Hello, C, World]
	Remove : Programming
	list : []
	Empty : true

 

Map

인터페이스로 이를 구현한 클래스는 key를 이용해서 데이터를 관리한다

Map

특징

  • key를 이용한다
  • key는 중복될 수 없다
  • 데이터 중복이 가능하다
public class M {
	public static void main(String[] args) {
		HashMap<Integer, String> map = new HashMap<Integer, String>();
		System.out.println("map.size() : "+map.size());
		
		//데이터 추가
		map.put(5, "Hello");
		map.put(6, "Java");
		map.put(7, "World");
		System.out.println("map : "+map);
		System.out.println("map.size() : "+map.size());
		
		//데이터 교체
		map.put(6, "Python");
		System.out.println("map : "+map);
		
		//데이터 추출
		String str = map.get(5);
		System.out.println("map.get(5) : "+str);
		
		//데이터 제거
		map.remove(5);
		System.out.println("map : "+map);
		
		//특정 데이터 포함 유무
		boolean b = map.containsValue("Python");
		System.out.println("map.containsValue(\"Python\")"+b);
		
		b = map.containsValue("Java");
		System.out.println("map.containsValue(\"Java\")"+b);
		
		//데이터 전체 제거
		map.clear();
		System.out.println("map : "+map);
		
		//데이터 유무
		b = map.isEmpty();
		System.out.println("map.isEmpty() : "+b);
	}
}

---- result ----
map.size() : 0
map : {5=Hello, 6=Java, 7=World}
map.size() : 3
map : {5=Hello, 6=Python, 7=World}
map.get(5) : Hello
map : {5=Hello, 7=World}
map.containsValue("Python")true
map.containsValue("Java")false
map : {}
map.isEmpty() : true

댓글