MY MEMO

[JAVA] Set List Map Vector Properties 예제 본문

STUDYING/JAVA

[JAVA] Set List Map Vector Properties 예제

l_j_yeon 2017. 10. 20. 13:46

Set - HashSet


중복을 허용 X

순서를 유지 X

HashSet 은 Hashing을 이용해서 구현한 Collection

+) 저장 순서를 유지하려면 LinkedHashSet

+) Hashing이란 많은 양의 데이터를 그보다 작은 크기의 테이블에 mapping시켜 저장할 수 있도록 하는 데이터 관리 기법


TreeSet

- BinarySearchTree형태로 데이터를 저장

- Red Black Tree (이진 트리의 범주를 멋어나지 않으면서 자동으로 균형을 맞추는 알고리즘)


ex)

Set set = new HashSet();

set.add("양효선");

Set sortedSet = new TreeSet(set);


List


Collection interface를 상속

순서 존재

중복 허락

배열과 같이 index 0부터 시작


ex)

ArrayList a = new ArrayList();

a.add("홍길동");


for (Object name : a) {

System.out.print(name +"\t");

}

또는

for (String name : a) {

System.out.print(name +"\t");

}


List list = new ArrayList();

list.add("A");


LinkedList linkedList = new LinkedList();

linkedList.addFirst("A");

linkedList.removeLast();


Map

key와 value를 쌍으로 데이터를 저장

key를 이용해서 value를 찾음 (매우 쉬움)

정렬이 되지 않음 (String의 경우 but Integer은 정렬가능)

TreeMap은 Map을 정렬해줌


ex)

Map map = new HashMap();

map.put("1", "양효선");

Map sortedMap = new TreeMap(map);


Map<Integer,String> map = new HashMap<Integer,String>();

map.put(1, "양효선");

Map<Integer,String> sortedMap = new TreeMap<Integer,String>(map);


Vector

vector대신 ArrayList가 더 많이 사용됨


ex)

Vector<String> vector = new Vector<String>();


for(int i=0;i<10;i++)

vector.addElement(String.valueOf(Math.random()*100));


for(int i=0;i<10;i++)

System.out.println(vector.elementAt(i));


for (Enumeration<String> e = v.elements(); e.hasMoreElements();)

System.out.println(e.nextElement());



Properties

자바에서 설정파일로부터 값을 읽을 때 많이 사용되는 클래스

키와 값이 쌍으로 데이터를 저장


ex)

Properties prop = new Properties();


prop.put("name", "장길산");

prop.put("address", "황해도 구월산");


try {

prop.store(new FileOutputStream("test.properties"),"My Favorite");

} catch (IOException e) {

System.out.println(e.getMessage());

}

        

System.out.println("Properties Store!");

        

try {

prop.load(new FileInputStream("test.properties"));

} catch (IOException e) {

System.out.println(e.getMessage());

}


System.out.println(prop.getProperty("name"));

System.out.println(prop.getProperty("address"));

System.out.println("Properties Load!");


+) Equals

Integer a = new Integer(10);

Integer b = new Integer(10);

if(a==b) System.out.println("a==b"); 

else System.out.println("a!=b"); //Different Object

if(a.equals(b)) System.out.println("a equal b"); //Same Content

else System.out.println("a don't equal b");

int result = a.compareTo(b);

if(result==0) System.out.println("Equals"); //Same Content

else System.out.println("Different");


+) Sorting Algorithm https://medium.com/@fiv3star/%EC%A0%95%EB%A0%AC%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-sorting-algorithm-%EC%A0%95%EB%A6%AC-8ca307269dc7

'STUDYING > JAVA' 카테고리의 다른 글

[JAVA] Version 관련  (0) 2018.02.09
[JAVA] 기본 개념 다지기 - 2  (0) 2017.10.16
[JAVA] 기본 개념 다지기 - 1  (0) 2017.10.02
[JAVA] JAVA로 게임 만들기 (환경 설정)  (0) 2017.06.09
[JAVA] 상속  (0) 2017.06.02
Comments