728x90
반응형
Collection
Collection은 데이터의 집합, 그룹을 의미하며 클래스를 정의하는 인터페이스를 제공한다.
따라서, New로 객체 생성할 수 없다.
Collection 인터페이스의 종류에는
인터페이스 | 구현 클래스 | 특징 |
Set | HashSet TreeSet |
순서 X, 데이터 중복 X |
List | LinkedList Vector ArrayList |
순서 O, 데이터 중복 O |
Map | LinkedList PriorityQueue |
키(Key), 값(Vaule)의 쌍으로 이루어져 있다. 순서 X, 키의 중복 X, 값의 중복 O |
Queue | Hashtable HashMap TreeMap |
List와 유사 |
Collection coll = new ArrayList();
coll.add("호랑이");
coll.add("사자");
coll.add("호랑이"); // 중복 허용
저장되는 coll : [ "호랑이","사자","호랑이" ]
HashSet
중복 허용 X, 순서 X
Set<String> set = new HashSet<>();
set.add("호랑이");
set.add("사자");
ArrayList
순서 O, 데이터 중복 O
ArrayList<String> list = new ArrayList<String>();
list.add("호랑이");
list.add("사자");
list.add("호랑이"); // 중복 허용
LinkedList
순서 O, 데이터 중복 O
요소 추가 _ offer(n)
String[] item = {"소나타", "렉스톤", "제규어"};
LinkedList<String> q = new LinkedList<String>();
for(String n : item)
q.offer(n); //요소 추가
크기 _ size()
out.println("q의 크기 : " + q.size() + "\n");
요소 삭제 _ poll()
String data="";
while( (data = q.poll()) != null){
out.println(data + " 삭제!");
}//while
Vector
요소 삽입_ add(값 + "")
Vector<String> v = new Vector<String>();
for(int i=1; i<=10; i++){
v.add(i + "");
System.out.print( v.get(i-1) + " "); //index는 0부터 시작
}
요소 삽입_ addElement(값 + "")
v.addElement(5 + "");
요소 삭제_ remove(리스트번호) / remove(값 + "")
v.remove(5); //index가 5번 항목 6일 삭제
v.remove(5 + ""); //앞에 있는 항목 5가 삭제
벡터 크기, 용량 확인_size() / capcity()
System.out.println("벡터 크기 = " + v.size()); //11
System.out.println("벡터 용량 = " + v.capacity());
Map - HashMap
순서 X, 키의 중복 X, 값의 중복 O
요소 삽입_put(Key, Value)
Map<String, String> map = new HashMap<>();
map.put("book101", "백설공주");
map.put("book201", "인어공주");
요소 출력_ get(Key)
System.out.println(map.get("book101"));
for(Map.Entry<String, String> data : map.entrySet()) {
String key = data.getKey();
String value = data.getValue();
System.out.println("Key : " + key + "\t Value : " + value);
}
Stack
String[] groupA = {"우즈베키스탄", "쿠웨이트", "사우디", "대한민국"};
Stack<String> stack = new Stack<String>();
요소 삽입_ push()
for(int i=0; i<groupA.length; i++)
stack.push(groupA[i]);
요소 출력_pop()
while( ! stack.isEmpty() )
out.println( stack.pop() );
}
GenericMain
요소 삽입_ setA // setter
GenericMain<String> aa = new GenericMain<String>();
aa.setA("홍길동");
요소 출력_getA() // getter
System.out.println("이름 = " + aa.getA());
생성자
public class GenericMain<T> {
private T a;
public void setA(T a) {
this.a = a;
}
public T getA() {
return a;
}
728x90
반응형
'Java' 카테고리의 다른 글
Java, 정렬(CompareTo, Compartor) (0) | 2024.08.02 |
---|---|
Java, Iterator(반복자) (0) | 2024.07.30 |
Java, Iterator ( hasNext(), next(), remove() ) (0) | 2024.07.23 |
Java, interface(is~a 관계) / 익명 inner class (1) | 2024.07.23 |
Java, Package(패키지) / 다른 패키지에서 호출하기 (+접근제어자) / Object(최상위 클래스) 비교하기( == , equals()) (1) | 2024.07.18 |