컬렉션 프레임워크

구름·2022년 12월 3일

Java_1

목록 보기
18/19
post-thumbnail

컬렉션

컬렉션 정의

: 여러 객체(데이터)를 모아놓은 것을 의미, +

프레임워크의 정의

: 표준화, 정형화된 체계적인 프로그래밍 방식, 기능만을 제공

컬렉션 프레임워크정의

: 컬렉션(다수의 객체)를 다루기 위한 표준화된 프로그래밍 방식
컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스 제공
많은 수의 데이터를 다루는데 유용하다.

배열과 컬렉션의 차이점
  1. 동일한 타입만을 저장이 가능하다.
  2. 방의 크기가 고정: 방의 크기가 수정이 불가능하다. (값을 선언한 뒤에는 값을 늘리거나 수정이 불가능.)

컬렉션 프레임워크의 특징

  1. 동일한 타입만 저장
  2. 제너릭 타입, 객체를 생성시에 타입을 지정해서 저장.
  3. 방의 크기가 고정되어 있지 않다. 자동으로 늘어가고 자동으로 줄어듬

컬렉션의 기본 구조

List : 인터페이스 , 객체화 불가능 . 타입으로만 지정이 가능하다.
ArrayList<>, Vector<>, LinkedList<>
=> 구현 클래스로만이 객체화가 가능

컬렉션 프레임워크를 이루는 주요클래스 및 인터페이스와 구현클래스

ArrayList

: List인터페이스를 구현한 컬렉션 클래스 . 클래스이기 때문에 여러가지 메소드를 포함하고 있다.
중복을 허용하고.데이터를 순차적으로 저장한다.
사용시 import, ArrayList해야함

List<String> aList = new ArrayList<>();

		//0.객체생성
        List<String> aList = new ArrayList<>();
        //1. List 에 값 넣기 
		aList.add("가");
		aList.add("나");
		//방의 크기를 알려줌
		System.out.println(aList.size());
		//방의 값을 출력하기 
		System.out.println(aList);
		System.out.println(aList.toString());
        //방의 값을 제거할때
        aList.remove("가")
        
출력결과

Arraycollection의 메소드
  1. add : 배열에 값을 추가 할 때
    alist1.add(3);
  2. add : 특정 방 번호에 값을 넣을때
    alist1.add(1,6);
    =>1번 index에 6을 넣는다.
    3.다른 리스트 객체를 불러와 다른 컬렉션의 모든 내용을 합해서 출력
List<Integer> aList2 = new ArrayList<>();
aList2.add(2);
aList2.addAll(aList1);

=> aList2.addAll(aList1); => aList2 객체에 addall로 aList1객체를 가져와 넣겠다라는 뜻

  1. 방을 지정해서 다른 객체를 넣을 때
		List<Integer> aList3 = new ArrayList<>();
		aList3.add(4);
		aList3.add(5);
		System.out.println(aList3);
		aList3.addAll(1,aList);
		System.out.println(aList3);

=> aList3객체에 aList객체를 넣을것,
aList3.addAll(1,aList);
=>1번 방 뒤에 aList객체를 넣겠다.

  1. 기본의 방의 값을 수정 : set
		aList.set(1, 5);
		System.out.println(aList);
  1. 특정 방 번호의 값을 삭제

    aList.remove(1)

    => aList의 1번 방의 값을 삭제

  2. 방에 들어간 값으로 삭제
    aList.remove(new Interger(2));
    => aList의 2 값을 삭제

  3. 모든 값을 삭제
    aList3.clear();

  4. isEmpty() : 값이 없으면 : true, 값이 존재하면 : false
    System.out.println(aList3.isEmpty());
    => 배열안에 값이 있는지 확인

  5. 방의 index길이 확인
    System.out.println(aList.size());

  6. get(int index) : 방번호의 값을 가지고 올때
    System.out.println("0 번째 : " + aList3.get(0));


<예제>
Student class의 값을 ArrayList를 이용해 넣고 출력하기

class Student {
String name; 
int stuID;

Student(String name, int stuID){
this.name = name;
this.StuID = stuID;
	}
}

public class {
	public static void main(String[] args) {
ArrayList<Student> a1 = new ArrayList();

Student s1 = new Student ("홍길동",1111);
Student s2 = new Student("이순신",2222);
Student s3 = new Student("강감찬",3333);

a1.add(s1);
a1.add(s2);
a1.add(s3);

//내용출력 
for(int i = 0; i < a1.size(); i++) {
	Student ss1 = a1.get(i);
    System.out.println(ss1);
		}
// Enhanced For 
for(Student K : a1) {
System.out.println(k);
}
profile
내가 보려고 하는 업데이트

0개의 댓글