20.01.04

컬렉션(Collection) Framework
자료구조 : Data Structure

public class ArrayList : generic class - 타입을 제한함

다형성 선언이 좋음
List list = new ArrayList

Wrapper클래스에서 auto boxing auto unboxing 자동으로 해줌

        Byte Short Integer Long Float Double Boolean Character
        byte short int     long float double boolean char
        
        
        List<Integer> list = new ArrayList<>(); //다형성(앞에 ArrayList보다 List써주는게 좋음)
  		List<Integer> list = new LinkedList<>(); //다형성(앞에 LinkedList보다 List써주는게 좋음)0
        
        
        Integer i = new Integer(1);
        
        int a = 1;
        
        System.out.println(a+i);
  • List 자료를 순차적으로 나열. index로 관리됨, 중복해서 객체 저장 가능
        Iterator<Integer> it = list.iterator();
        while(it.hasNext()) {
            Integer i = it.next();
            if(i%2==0)
                it.remove();
  • Set 자료 순차적으로 저장되지 않음. 중복저장불가 null도 중복허용이 안되므로 1개만 저장됨.
  • Set과 List끼리 바꿔서씀
    set으로 바꿀땐 중복값 없앨때
    list으로 바꿀땐 정렬할떄
    Set<Integer> set = new HashSet<>(list);
  • Map 키와 값으로 구성. 키와 값은 전부 객체. 자료 순차적으로 저장되지 않음
    Map<String, Integer> map = new HashMap<>();
  • 중복제거 : 컴퓨터가 비교할 수 있는 기준을 만들어주기 위해
    1.hashCode()
    2.equals()
객체 비교할때 equals랑 hashCode를 동시에 재정의
    @Override
    public boolean equals(Object obj) {
        if(!(obj instanceof Person))
            return false;
        if(this.num==((Person)obj).num)
            return true;
        else
            return false;
    }
  
    @Override
    public int hashCode() {
        return Objects.hash(num);
    }

  * 정렬 : compareTo()
    @Override
    public int compareTo(Person o) {
        return this.num-o.num;
    }
  

좋은 웹페이지 즐겨찾기