IT/Java

자바 컬렉션 Set, List, Map, Set : HashSet, List : ArrayList, Vector

노마드오브 2018. 7. 25. 00:11

package test;


import java.util.HashSet;

import java.util.Set;


public class Test5 {


public static void main(String[] args) {

// 컬렉션 : 자료구조. 가변크기 저장공간. 객체만 저장가능. 기본자료형은 저장안됨.

// Set : HashSet 순서없는 집합형태의 저장공간. 순서정보가 없어서 중복저장 불가능.

// List : ArrayList, Vector. 순서있는 목록형 저장공간. 순서정보 있어서 중복저장 가능.

// Map : HashMap, Hashtable. (키, 값) 쌍으로 저장공간. 키를 이용해서 값을 얻는 자료구조.

Set set = new HashSet();

set.add("하나");

set.add(1);    // set.add(Integer.valueOf(1)); 기본자료형은 자동박싱되어 컬렉션에 들어간다.

set.add(2.5);  // set.add(Double.valueOf(2.5));

set.add('삼');  // set.add(Character.valueOf('삼'));

set.add(new Dog("푸들", 3,"수컷"));

System.out.println(set);

System.out.println("-------------");

Iterator it = set.iterator();

while (it.hasNext()) {

System.out.println(it.next());

} // while

}


}





package test;


import java.util.ArrayList;

import java.util.List;


public class Test6 {


public static void main(String[] args) {

// List 컬렉션

// - ArrayList : 가변크기의 배열 리스트.스레드 동기화를 지원안함.

// - Vector : 스레드 동기화를 지원함


// add()

// get(), elementAt()

// remove()

// clear()

// size() : 요소의 갯수 리턴

List list = new ArrayList();

// ArrayList list2 = new ArrayList();

System.out.println(list.isEmpty());  // true

list.add(1);

list.add("이");

list.add(3.5);

list.add('4');

list.add(new Dog("푸들", 3, "수컷"));

list.add(3.5);

System.out.println(list);

System.out.println(list.isEmpty());  // false

for (int i=0; i<list.size(); i++) {

Object obj = list.get(i);

System.out.println(obj);

}


list.clear();  // 모든 요소 삭제

System.out.println(list.isEmpty());  // true

System.out.println("=================");

Object[] objArr = new Object[3];

objArr[0] = 1;  // 오토박싱

objArr[1] = "문자열";

objArr[2] = new Dog("푸들", 3, "수컷");

Dog dog = (Dog)objArr[2];

dog.makeNoise();

}


}