[Java] 컬렉션

Walter Mitty·2022년 10월 31일
0

KOSTA

목록 보기
25/33
post-custom-banner
  • 컬렉션
    • 집합 데이터를 처리하는 api 묶음이다.
    • 배열보다 편리하게 업그레이드 한 버전

List 배열

  • 배열이나 LinkedList를 기반으로 만든 api이다.

<배열기반> - 방번호로 접근
Vector
ArrayList
(0번방, 1번방, 2번방 등등 이렇게 돌아가서 맨뒤에 추가하는게 편하다.)

<링크드 리스트 기반>
LinkedList
(동적으로 메모리를 할당을 받기때문에 필요할 때마다 노드를 하나 만들어서 데이터를 저장한다. 연결되어있어서 하나를 알면 다음거가 연결 연결 이렇게되어있음)


끝에추가하나 중간에 추가하나 속도에 차이가없다.

Map 배열

  • ArrayList 실습
		//Float f = new Float(3.14f); //래퍼 클래스. 
		
		// Object 형태로 업캐스팅 되어 저장되므로 클래스타입 아무거나 담을 수 있다. 기본타입도 담을 수 있다.
		//이유는 오토박싱떄문이다~
		//생성<타입한정자>
		ArrayList<String> list = new ArrayList<>();
		//add() 데이터 끝방에 추가
		list.add("aaa");
		list.add("bbb");
		//aaa. bbb 이렇게 들어가있음.
		//add(방번호, data) 지정한 위치에 데이터 추가
		list.add(0, "ccc");
		//ccc, aaa, bbb 이렇게됨
		
		//set(방번호, new data) 지정한 위치의 데이터를 새 값으로 변경
		list.set(0, "abc"); //abc, aaa, bbb
		System.out.println(list);
		
		//get(방번호) 지정한 방번호 요소 추출
		String s = list.get(1); //1번방 요소 추출
		System.out.println(s); //aaa
		
		//size() 데이터 개수
		System.out.println("size:" + list.size());
		//루프로 요소 전체를 하나씩 추출.
		for(String str:list) {
			System.out.println(str);
		}
		for(int i=0; i<=list.size()-1; i++) {
			System.out.println(list.get(i));
		}
		
		
		//contain(값) 값이 리스트에 있으면 true, 없으면 false 반환한다.
		if(list.contains("aaa")) {
			//indexOf(값) 값이 몇번째 방에 있는지 방번호 반환. 만약 없으면 -1반환한다.
			System.out.println(list.indexOf("aaa") + "번째 방에 있음"); //몇번쨰 방에 있는지.
		} else {
			System.out.println("없다");
		}
		
		//remove(방번호) 방번호에 있는 데이터 삭제 -> 0번방에 있는애 삭제
		list.remove(0);
		System.out.println(list);
//		//remove(값) 값을 찾아서 삭제 -> "aaa" 삭제
//		list.remove("aaa");
		boolean flag = list.remove("aaa");
		if(flag) {
			System.out.println("삭제가 완료되었습니다.");
		} else {
			System.out.println("없는 데이터입니다.");
		}
		
		//isEmpty() 리스트가 비어있으면 true, 아니면 false
		//list.isEmpty();
		if(list.isEmpty()) {
			System.out.println("리스트가 비었습니다.");
		} else {
			list.clear(); //모든 요소 삭제.
			System.out.println("모든 요소가 삭제되었습니다.");
		}

제출은 Dao만 제출~

post-custom-banner

0개의 댓글