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는 인터페이스로 이를 구현한 클래스는 인덱스를 이용해서 데이터를 관리한다
특징
- 인덱스를 이용한다
- 데이터 중복이 가능하다
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를 이용해서 데이터를 관리한다
특징
- 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
'Study > Java' 카테고리의 다른 글
[Java] 입력과 출력 (0) | 2020.07.04 |
---|---|
[Java] 예외처리 Exception, Error (이것만 알면 된다!!) (0) | 2020.07.04 |
[Java] 문자열 클래스(String, StringBuilder, StringBuffer) (0) | 2020.07.03 |
[Java] Lambda 람다식 (0) | 2020.07.03 |
[Java] 인터페이스와 추상클래스 (0) | 2020.07.03 |
댓글