day20_ArrayListEx1

육희영·2021년 11월 1일
0
package com.java1.day20;

import java.util.*;
//List중에서 가장 많이 쓰이는 ArrayList ..
public class ArrayListEx1 {
	public static void main(String[] args) {
		ArrayList list = new ArrayList();
		
		list.add("카라");	// ArrayList의 마지막에 객체를 추가..
		list.add("소녀시대");
		list.add("원더걸스");
		list.add(new String("야호"));
		System.out.println(list);
		
		//contains로 데이터 검색..
		if(list.contains("카라")) {	// true or false 리턴
			System.out.println("존재합니다.");
		}
		
		//데이터를 하나씩 꺼내 봅시다!
		for(int i=0; i<list.size(); i++) {
			String str = (String) list.get(i); // list의 i 번째 요소를 가져온다.
			System.out.println(i + " :" + str);
		}
		
		//데이터를 하나 삭제 하자..
		list.remove(2);
		System.out.println("remove 후 : " + list);
		
		//특정 위치의 데이터를 읽어오자.
		System.out.println("index 2 번재 위치한 객체 : " + list.get(2));	
		
		//특정 위치에 데이터를 추가해보자.
		list.add(1, "BTS");
		System.out.println("1번째 위치에 BTS 추가후 : " + list);
		
		//ArrayList의 크기를 읽어오자.
		System.out.println("list의 크기 : " + list.size());
		
		//원본 ArrayList를 복사하자.
		ArrayList alist = new ArrayList();
		alist = (ArrayList) list.clone();
		System.out.println("복제된 list : " + alist);
		
		//ArrayList를 완전히 비워보자..
		list.clear();
		System.out.println("clear() 실행후 : " + list);
		
		ArrayList list2 = new ArrayList();
		list2.add(1);
		list2.add(4);
		list2.add(6);
		list2.add(2);
		list2.add(5);
		
		System.out.println("정렬 전  : " + list2.toString());
		list2.sort(Comparator.naturalOrder()); //list2.sort(null)와 같다.
		System.out.println("오름차순 : " + list2.toString());
		list2.sort(Comparator.reverseOrder());
		System.out.println("내림차순 : " + list2.toString());

	}
}

	/* 27번 라인의 경우 remove(2) 하기전 2번째 요소에는 "원더걸스"가 저장 되어 있었지만
	 * remove(2) 하고 난뒤에는 3번째 요소에 있던 "야호"가 2번째 요소에 저장 된것을 확인 할수 있다.
	 * 왜 이런 현상이 생겼을까?
	 * 이유는 한 요소가 삭제될 때마다 빈 공간을 채우기 위해 나머지 요소들이 자리 이동을 하기 때문이다.
	 */

출력결과

[카라, 소녀시대, 원더걸스, 야호]
존재합니다.
0 :카라
1 :소녀시대
2 :원더걸스
3 :야호
remove 후 : [카라, 소녀시대, 야호]
index 2 번재 위치한 객체 : 야호
1번째 위치에 BTS 추가후 : [카라, BTS, 소녀시대, 야호]
list의 크기 : 4
복제된 list : [카라, BTS, 소녀시대, 야호]
clear() 실행후 : []
정렬 전  : [1, 4, 6, 2, 5]
오름차순 : [1, 2, 4, 5, 6]
내림차순 : [6, 5, 4, 2, 1]

0개의 댓글

관련 채용 정보