Java(Collection)_02

2024. 11. 7. 17:49·Java/기초 내용 정리

2024-11-07

 

 

list 의 크기 >>> 6
list[1] 데이터 >>>> 세종대왕

list[0] >>> 홍길동
list[1] >>> 세종대왕
list[2] >>> 유관순
list[3] >>> 이순신
list[4] >>> 신사임당
list[5] >>> 유관순
list 의 크기 >>> 0
list empty? >>> true

list[0] >>> 홍길동
list[1] >>> 세종대왕
list[2] >>> 이순신
list[3] >>> 신사임당
list[4] >>> 유관순

list[0] >>> 홍길동
list[1] >>> 세종대왕
list[2] >>> 강감찬
list[3] >>> 이순신
list[4] >>> 신사임당
list[5] >>> 유관순

 

package collection;

import java.util.ArrayList;
import java.util.List;

/*
 *  컬렉션 프레임워크
 *  - 컬렉션의 사전적 의미 : 수집해서 모으다, 저장한다는 의미.
 *  - 자바에서 배열은 여러 개의 데이터를 다루는데 편리한 자료구조
 *    이지만, 삽입과 삭제가 빈번하고, 데이터의 크기를 예측할 수
 *    없는 응용 프로그램에서는 사용하기가 어려움.
 *    예를 든다면 많은 사람의 이름과 전화번호를 저장하고 삽입,
 *    삭제가 빈번한 전화번호부 관리 프로그램에서 배열을 사용한다면
 *    프로그램 작성에 어려움을 겪게 됨.
 *  - 자바에서의 컬렉션은 데이터의 추가, 삭제, 수정, 검색 등을
 *    효과적으로 제공해 주는 자료구조 관련 클래스임.
 *    	==> 값을 담을 수 있는 그릇을 의미함(컨테이너 개념).
 *  - java.util 패키지에 포함이 되어 있음.
 *  - 인터페이스를 통해 정형화된 방법으로 다양한 컬렉션 클래스를 이용.
 *  
 *  - 컬렉션 프레임워크
 *    1) 컬렉션을 표준화하여 설계해 놓은 인터페이스.
 *    2) List 계열, Set 계열, Map 계열.
 *    
 *  - 컬렉션의 특징
 *    1) 컬렉션은 제네릭(generic) 이라는 기법으로 만들어져 있음.
 *       컬렉션 클래스의 이름에는 <E>, <K>, <V> 등이 항상
 *       포함되어 있음. 이들을 타입 매개변수라고 함. 해당 위치에
 *       구체적인 타입을 명시하여 해당 타입만 저장할 수 있음.
 *    2) 컬렉션의 요소는 객체들만 저장이 가능함. 일반 기본 타입의
 *       자료형은 컬렉션 요소로 사용이 불가능함. 따라서 기본 자료형을
 *       클래스 자료형이 감싼 형태의 포장 클래스(wrapper class)
 *       를 사용함.
 */       

/*
 *  ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
 *  ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
 *  ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
 *  1. List 계열의 컬렉션 프레임워크의 특징
 *  	- 자료의 순서가 보장(index 가 있음) : 정렬 기능 제공.
 *  	- 중복 데이터 허용.
 *  	- List 인터페이스의 자식클래스로 구현
 *  		==> ArrayList(0), LinkedList(가끔 사용됨)
 *  		    Vector(가끔 - 멀티쓰레드에 특화되어 있음)
 *  	- 특히 DB에 데이터를 레코드 단위로 저장하거나, 저장된 
 *  	  데이터를 가져올 경우 많이 사용이 됨.
 *  ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
 *  ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
 *  ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
 */

public class List_02 {

	public static void main(String[] args) {
		
		//  List 계열 컬렉션 객체 생성 - 다형성을 이용한 객체 생성
		//  부모의 클래스를 이용한 자식 객체 생성
		List<String> list = new ArrayList<String>();
		
		//  1. add("요소(데이터)") : 데이터를 추가해 주는 메서드
		list.add("홍길동");
		list.add("세종대왕");
		list.add("유관순");		//  중복 데이터
		list.add("이순신");
		list.add("신사임당");
		list.add("유관순");		//  중복 데이터
		
		//  2. size() : 전체 데이터의 크기를 정수값으로 반환해 주는 메서드.
		System.out.println("list 의 크기 >>> " + list.size());
		
		//  3. get(index) : list 에 저장되어 있는 데이터를 가져오는 메서드.
		System.out.println("list[1] 데이터 >>>> " + list.get(1));
		System.out.println();
		
		//  ArrayList 에 있는 전체 데이터를 화면에 출력해 보자.
		for(int i = 0; i < list.size(); i++) {
			System.out.println("list["+i+"] >>> " + list.get(i));
		}
		
		//  4. clear() : ArrayList 안에 있는 모든 데이터를 삭제하는 메서드.
		list.clear();
		
		System.out.println("list 의 크기 >>> " + list.size());
		
		//  5. isEmpty() : ArrayList 가 비어 있는지, 아닌지를 체크하는 메서드.
		//					==> 반환형은 boolean 타입임.
		System.out.println("list empty? >>> " + list.isEmpty());
		System.out.println();
		
		list.add("홍길동");
		list.add("세종대왕");
		list.add("유관순");		//  중복 데이터
		list.add("이순신");
		list.add("신사임당");
		list.add("유관순");		//  중복 데이터
		
		//  6. remove(index) : ArrayList의 특정요소(index)를 제거하는 메서드.
		//					   제거한 다음 인덱스부터 인덱스 값이 하나씩 당겨진다.
		list.remove(2);
		
		for(int i = 0; i < list.size(); i++) {
			System.out.println("list["+i+"] >>> " + list.get(i));
		}
		System.out.println();
		
		//  7. add(index, element(값))
		//		==> ArrayList 의 특정 index 에 데이터를 추가하는 메서드.
		//			해당 index 에 데이터가 추가가 되고, 기존에 있던 데이터들은
		//			index 가 뒤로 하나씩 밀리게 됨.
		list.add(2, "강감찬");
		
		for(int i = 0; i < list.size(); i++) {
			System.out.println("list["+i+"] >>> " + list.get(i));
		}
	}
}

'Java > 기초 내용 정리' 카테고리의 다른 글

Java(Collection)_04  (0) 2024.11.07
Java(Collection)_03  (0) 2024.11.07
Java(Collection)_01  (0) 2024.11.07
Java(Generic)_05  (0) 2024.11.07
Java(Generic)_04  (0) 2024.11.07
'Java/기초 내용 정리' 카테고리의 다른 글
  • Java(Collection)_04
  • Java(Collection)_03
  • Java(Collection)_01
  • Java(Generic)_05
mw41817
mw41817
일생의 개발 기록 저장소
  • mw41817
    IT 개발 일지
    mw41817
    • Index (487)
      • HTML (36)
        • 기초 내용 정리 (36)
      • CSS (29)
        • 기초 내용 정리 (29)
      • JavaScript (60)
        • 기초 내용 정리 (60)
      • JQuery (38)
        • 기초 내용 정리 (38)
      • Java (232)
        • 기초 내용 정리 (232)
      • JSP (46)
        • 기초 내용 정리 (46)
      • Spring, Boot (31)
        • 기초 내용 정리 (31)
      • DB (5)
        • Oracle SQL (5)
      • Code WorkBook (6)
        • programmers (6)
        • Baekjoon (0)
      • 기타 (1)
        • 유용한 사이트 (3)
  • 전체
    오늘
    어제
  • 글쓰기 관리
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 카테고리
    • 주인장 GitHub
  • 공지사항

  • 인기 글

  • 태그

    html #코딩 #프로그래밍 #기초
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
mw41817
Java(Collection)_02
상단으로

티스토리툴바