본문 바로가기

Java

Day 5. Collection framework(자료구조)

Collection framework(자료구조)


Collection : 중복 O 순서 X 

Iterator : 꺼내는 인터페이스

List : 중복 O 순서 O

Set : 중복 X 순서  X

Map : key, value 값



import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

//단축키! import는 컴파일러한테 어디 패키지에 있는지 알려주는 것 java.lang은 import필요없다.
public class CollectionTest01 {
    public static void main(String[] args){
        Set<String> set = new HashSet<>();
        boolean flag = false;
        flag  = set.add("hello");
        System.out.println(flag);
        flag = set.add("!!");
        System.out.println(flag);
        flag = set.add("!!");
        System.out.println(flag);

        Iterator<String> iterator = set.iterator();
        while(iterator.hasNext()){
            String str = iterator.next();
            System.out.println(str);
        }
    }
}
import java.util.ArrayList;
import java.util.List;

public class CollectionTest2 {
    public  static void main(String[] args){
        List<String> list = new ArrayList<>();
        list.add("hello"); // index 0
        list.add("!!!");// index 1
        list.add("!!!");// index 2
        list.add("bye!"); //index 3

        for(int i=0; i < list.size(); i++){
            System.out.println(list.get(i));
        }

    }
}
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class CollectionTest03 {
    public static void main(String[] args){
        Map<String, String> map = new HashMap<>();
        map.put("001","둘리");
        map.put("002","도우너");
        map.put("003","또치");

        System.out.println(map.get("001"));
        System.out.println(map.get("004"));

        //모든 key, value 들을 호출하시오
        Set<String> keys = map.keySet();
        Iterator<String> keyIter = keys.iterator();
        while(keyIter.hasNext()){
            String key = keyIter.next();
            System.out.println(key + " : " + map.get(key));
        }
    }
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Lotto{
    public static void main(String[] args){
        List<Integer> list = new ArrayList<>();

        for(int i=1; i <= 45; i++){
            list.add(i);
        }

        /*int x = 0;
        int y = 0;
        for(int j=0; j<100; j++) {
            x = (int) (Math.random() * list.size());
            y = (int) (Math.random() * list.size());
            if(x != y){
                Integer tmp = list.get(x);
                list.set(x, list.get(y));
                list.set(y, tmp);
            }

        }*/
        Collections.shuffle(list); //Collections 의 Shuffle을 사용하면 자동으로 섞어준다.

        for(int i=0; i<6; i++){
            System.out.println(list.get(i) +"\t");
        }

    }
}