[ 컬렉션 프레임워크 ]
컬렉션에서의 상위개념 : Collection , Map
[ 특징 ]
1. 객체만 사용 가능하다. (참조형)
2. 가변길이 (길이가 고정적이지 않음) 추가, 삭제가 가능하다.
3. 순서가 없다(index 가 존재하지 않는다)
이와 반면에 배열같은 경우는..
길이가 고정적이다. 따라서 추가나 삭제를 할 수 없다. 하지만 컬렉션을 사용하기 전에 배열을 무조건 1순위로 두고 어떤 일을 처리해야 하며 이것이 불가능한 경우 컬렉션을 사용하도록 해야한다.
[ 컬레션의 선언과 정의 ]
//1.7 이후 부터 사용 가능
//Collection<String> c = new HashSet<>();
Collection<String> c = new HashSet<String>();
[ 컬렉션의 기능 ]
//길이확인(size)
System.out.println(c.size());
// 원소추가(add)
c.add("a");
c.add("b");
//원소 삭제(remove)
c.remove("a");
//대표적인 기능
//이 컬렉션 내부에 d 라는 문자열이 존재 하나요?
c.contains("d"); // return true , false
//모든 원소 삭제
c.clear();
//Collection -> Array 변환
/*
Object[] arr = c.toArray();
위와같이 할 수도 있지만 Object[] 로 바뀌어버림.. 그러면 형 변환을 하고 사용해야 하는데..
아래와 같이 하면 형 변환을 안해도 된다.
*/
String[] arr = c.toArray(new String[0]);
//데이터를 꺼내는 방법
//Iterator 원소 접근이 가능한 객체를 얻는다
Iterator<Integer> itr = c.iterator();
//이터레이터에 요소가 있을때 까지
while(itr.hasNext()) {
//이터레이터에 있는 요소를 가져온다.
int num = itr.next();
System.out.println(num);
}
//JDK 1.5 이후의 버전에서 사용가능 forEach
for(Integer str : c ) {
System.out.println(str);
}
Collection<String>main = new ArrayList<String>();
Collection<String> others = new ArrayList<String>();
//others 안에 있는 원소들을 발견했으면 main 에서 다 지워라
main.removeAll(others);
// mian 에서 orders와 일치 하지 않은거 다 지워라
main.retainAll(others);
//main 안에 others 가 다 있습니까??
System.out.println(main.containsAll(others));
//others 안에 잇는 요소들을 main에서 모두 추가
main.addAll(others);
'자바프로그래밍' 카테고리의 다른 글
[JAVA] 로또 프로그램(컬렉션 사용) (0) | 2020.04.26 |
---|---|
List (0) | 2020.04.23 |
Wrapper class (0) | 2020.04.23 |
[JAVA] ArrayList 를 이용한 성적처리 프로그램 (0) | 2020.04.21 |
[ JDK 1.7 ] Interface (인터페이스) (0) | 2020.04.12 |