관리 메뉴

Jsecurity

컬렉션 (collection) 개념 본문

프로그래밍언어/Java_Language

컬렉션 (collection) 개념

Great king 2019. 4. 2. 22:27

컬렉션 (collection)의 개념

  

-요소(element) 객체들의 저장소

#객체들의 컨테이너라고도 불림

#요소의 개수에 따라 크기 자동 조절

#요소의 삽입, 삭제에 따른 요소의 위치 자동 이동

-고정 크기의 배열을 다루는 어려움 해소

-다양한 객체들의 삽입, 삭제, 검색 등의 관리 용이

 

Collections Framework - 배열과 컬렉션즈 프레임웍크

   

우리는 배열에 대해서 공부했다. 배열은 연관된 데이터를 관리하기 위한 수단이었다. 그런데 배열에는 몇가지 불편한 점이 있었는데 그 중의 하나가 한번 정해진 배열의 크기를 변경할 수 없다는 점이다. 이러한 불편함을 컬렉션즈 프레임워크를 사용하면 줄어든다.

요약: 배열이 갖고 있는 불편함을 벗어나려고 이용

 

 

제네릭 이란?

     

특정 타입만 다루지 않고, 여러 종류의 타입으로 변신할 수 있도록 클래스나 메 소드를 일반화시키는 기법

 

Set 데이터가 중복적으로 저장되지 않게 할때

List 데이터가 중복데이터 입력이 상관 없을 때

Map 키값의 형식인 저장방식의 컨테이너가 필요할 때 사용

         키 값은 고유함, value는 중복을 허용함

 

 

 

ArrayList의 사용법

    

import java.util.ArrayList; // 패키지를 불러온다.

public static void main (String [ ] args) {

      ArrayList <String>al = new ArrayList <String>(); // 객체 생성 al

      al.add(“one:); // al 배열 ”one” 데이터 추가

      al.add(“two”); // al 배열 “two” 데이터 추가

      al.add(“three”); // al 배열 “three” 데이터 추가

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

            system.out.println(al.get(i)); // 배열의 전체를 출력

      }

      또는

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

            String value = (String) al.get(i);

            System.out.println(value);

      }

}

 

Hashset의 사용법

    

import java.util.Hashset;

public static void main(String [ ] args) {

      HashSet <Integer> A = new HashSet <Integer>(); //컨테이너의 인스턴스

      A.add(1); // A 배열 “1” 데이터 추가

      A.add(2); // A 배열 “2” 데이터 추가

      A.add(2); // A 배열 “2” 데이터 추가 (무시됨)

     A.add(3); // A 배열 “3” 데이터 추가

}

Iterator hi = (Iterator) A.iterator();

while (hi.hasNext()){ // 배열의 전체를 출력

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

}

 

System.out.println (A.containsAll (B)); //false

System.out.println (A.containsAll (C)); //true

 

 

 

 

HashMap의 사용법

 

import java.util.Collection;

 

public class MapDemo{

public static void main (String[] args){

      HashMap<String, Integer> a = new HashMap<String, Integer>();

      HashMap< key , value > a = new HashMap<>();

      a.put(“one”,1); a.put(“two“,2); // a.put(“키값”,인자);

      a.put(“three”,3); a.put(“four“,4);

      System.out.print(a.get(“one”));

      System.out.print(a.get(“two”));

      System.out.print(a.get(“three”));

 

      iteratorUsingForEach(a);

      iteratorUsingIterator(a);

}

 

//출력방법 1

static void iteratorUsingForEach (HashMap map){

      Set<Map.Entry<String, Integer>> entries = map.entrySet();

      // Map -> Set 으로

      for (Map.Entry<String, Integer> entry : entries ){

            System.out.println(entry.getkey() + “ : ” + entry.getValue());

}

 

//출력방법 2

static void iterator UsingIterator(HashMap map){

      Set>Map.Entry<String. Integer>> entries = map.entrySet();

      Itertor<Map.Entry<String, Integer>> i = entries.iterator();

      while(i.hasNext()){

            Map.Entry<String, Integer> entry = I.next();

            System.out.println(entry.getKey() + “ : ” + entry.getValue());

                  }

            }

      }

}

 

 

 

Comments