[Java] Collection

● Collection

(1) Set

1) 저장 용도

2) 중복 제거

3) 정렬 순서 없다

4) HashSet,

   LinkedHashSet, 

   TreeSet(중간에 Interface를 상속 받음 <SortedSet>/ 정렬기능만 추가된 기능), ...

 - Treeset의 정렬 순서는 알파벳 순으로 정렬된다.

 - 성능으로 보면 부모 인터페이스가 빠르다 자식은 상대적으로 느리다

 - Iterator it = tree.iterator(); // 줄을 세우는 (정렬)기능

 - it.hasNext() //데이터를 일괄적으로 한꺼번에 가져오려고 할때 쓰는 용도



package Collection;


import java.util.HashSet;

import java.util.Iterator;

import java.util.TreeSet;


public class CollectionTest1 {

public static void main(String[] args) {

// Set계열의 클래스들

HashSet set = new HashSet();

set.add("carrie");

set.add("kabbin");

set.add("kairo");

set.add("kairo");

set.add("kariss");

//임의로 데이터가 저장되는 것

System.out.println("데이터 갯수 : "+ set.size());

System.out.println(set);

TreeSet tree = new TreeSet();

tree.add("juliet");

tree.add("ture");

tree.add("kabbin");

tree.add("terry");

tree.add("carrie");

System.out.println("데이터 갯수 : "+ tree.size());

System.out.println(tree);

Iterator it = tree.iterator(); // 줄을 세우는 (정렬)기능

while(it.hasNext()) {  //데이터를 일괄적으로 한꺼번에 가져오려고 할때 쓰는 용도

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

}

}

}




(2) List

1) 출력 용도

2) 중복 저장

3) 정렬 순서 있다

4) ArrayList, Vector, LinkedList, ...

- list.add("carrie"); //일반적이 추가 방법

- list.remove(3);  // 3번째 Index에 있는 값을 지우기

- list.add(2,100); // 추가해줄때 특정 위치에 넣을때 Index값을 지정해서 넣어줄수있다.

- list.indexOf("kairo") //찾고자하는 위치를 알려주는 기능

- list.contains("kairo") //해당 문자열이 포함된 것을 찾는 기능


package Collection;


import java.util.ArrayList;


public class CollectionTest2 {

public static void main(String[] args) {

// List 계열 클래스

ArrayList list = new ArrayList();

list.add("carrie");

list.add("kairo");

list.add("kabbin");

list.add("kairo");

list.add("terry");

System.out.println("데이터 갯수 : "+ list.size());

System.out.println(list);

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

System.out.println(list.get(i));

}

if(list.contains("kairo")) { // 해당 문자열이 포함된 것을 찾는 기능

System.out.println("찾았다.");

System.out.println(list.indexOf("kairo")+"번째 있다."); //찾고자하는 위치를 알려주는 기능

}else {

System.out.println("못찾았다.");

}

list.add(2,100); // 추가해줄때 특정 위치에 넣을때 Index값을 지정해서 넣어줄수있다.

System.out.println(list);

list.remove(3); // 3번째 Index에 있는 값을 지우기

System.out.println(list); 

}

}



(3) Map

1) 검색 용도


2) 두개의 데이터를 묶어서 하나로 저장하는 방식 (Key, Value)

key : 검색할때 사용, value : 검색한 해당 값

기준값이 있으므로 데이터를 선별하기 쉬운 방식


3) HashMap, HashTable...

         - map.keySet(); // Set에 map.keySet을 이용해서 모든 

  데이터의 주소값을 저장

 - Iterator it = set.iterator(); //줄세우기(정렬)


package Collection;


import java.util.HashMap;

import java.util.Iterator;

import java.util.Set;


public class CollectionTest3 {

public static void main(String[] args) {

//Map계열의 클래스

HashMap map = new HashMap();

map.put("key1", "홍길동");

map.put("key2", "임꺽정");

map.put("key3", "유비");

map.put("key4", "관우");

map.put("key5", "장비");

System.out.println("데이터 갯수 : "+map.size());

System.out.println(map);

System.out.println(map.get("key2"));

Set set = map.keySet(); // Set에 map.keySet을 이용해서 모든 

데이터의 주소값을 저장

Iterator it = set.iterator(); //줄세우기(정렬)

while(it.hasNext()) { //현재 데이터가 있는지 검사해서 

리턴값을 true/false 보내준다.

String key = (String)it.next(); //다음 값을 불러오는 기능

System.out.println(map.get(key));

}

}

}



'BACKEND > Java' 카테고리의 다른 글

[Java] 연습코딩-1  (0) 2017.10.27
[Java] Generic  (0) 2017.10.27
[Java] 인터페이스(Interface)  (0) 2017.10.26
[Java] Package  (0) 2017.10.25
[Java] 알고리즘 - 정렬 예제  (0) 2017.10.20

댓글

Designed by JB FACTORY