JAVA 기초

JAVA 14-2

Vanillwa 2023. 8. 30. 21:47

컬렉션 프레임워크

package ex4_list;

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

// 컬렉션 프레임워크 : 기존에 존재했던 자료구제 인터페이스로 설계된 기능을
// 클래스를 통해 제공하여 관리에 용이한 자료구조를 구조화 한 것

// 배열은 한번 생성하면 크기를 바꾸는것이 힘듬
// 이러한 불편을 해결하기 위해 필요한 자료구조를 미리 구현
// 기존에 있던 List, Queue, Tree 등의 자료구조를 
// 인터페이스화 시켜서 묶어놓은 개념
public class Ex1_list {
	public static void main(String[] args) {
//		ArrayList
//		List 인터페이스를 구현한 클래스중 가장 많이 사용되는 클래스
//		내부적으로 배열을 이용해 구현되어 배열과 호환성이 좋은 자료구조
//		데이터의 추가, 삭제, 수정이 가능하며 데이터의 중복도 허용된다
//		index가 존재 (중요)
		
		List<Integer> list = new ArrayList<>();
				
		//리스트 요소 추가
		list.add(100);
		list.add(100);
		list.add(20);
		System.out.println(list);
		
		//리스트 요소의 개수 확인
		System.out.println("리스트 사이즈 : " + list.size());
		
		//리스트 요소 한개 꺼내기
		System.out.println("list[2] : " + list.get(2));
		
		//리스트 요소 추가
		list.add(1,40);
		System.out.println(list);
		
		//리스트 요소 수정
		list.set(2, 60);
		System.out.println(list);
		
		//리스트 요소 제거
		list.remove(0);
		System.out.println(list); //뒤의 인덱스들이 한칸씩 당겨진다
		
		//리스트 요소 전부 삭제
		list.clear();
		// list.removeAll();리스트 요소를 전부 삭제후 boolean형 리턴 
		System.out.println(list);
	}
}

실행 결과


 

리스트의 요소로 객체 사용하기

 

package ex4_list;

public class Person {
	String name;
	int age;
}
package ex4_list;

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

public class Ex3_list {
	public static void main(String[] args) {
		List<Person> list = new ArrayList<>();
		
		Person p1 = new Person();
		p1.name = "홍길동";
		p1.age = 30;
		
		Person p2 = new Person();
		p2.name = "김자바";
		p2.age = 40;
		
		list.add(p1);
		list.add(p2);
		
		for(Person p : list)
			System.out.printf("이름 : %s\n나이 : %d\n\n",p.name, p.age);
	}
}

실행 결과


 

 

예제

 

package ex5_work;

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

public class Ex1_work {
	public static void main(String[] args) {
//		아이디를 계속 추가하는 코드 작성하기
//		아이디 생성 : abc
//		abc
//		아이디 생성 : abc
//		중복된 아이디
//		abc
//		아이디 생성 : abc2
//		abc abc2
		
		List<String> list = new ArrayList<>();
		Scanner sc = new Scanner(System.in);
		String id;
		loop1:
		while(true) {
			System.out.printf("아이디 생성 : ");
			id = sc.next();
			for(int i=0; i<list.size(); i++) {
				if(id.equals(list.get(i))){
					System.out.println("중복된 아이디");
					continue loop1;
				}
			}
			list.add(id);
			for(String i : list)
				System.out.print(i+" ");
			System.out.println();
		}
	}
}

실행 결과


 

'JAVA 기초' 카테고리의 다른 글

JAVA 15-2  (0) 2023.09.01
JAVA 15-1  (0) 2023.09.01
JAVA 14-1  (0) 2023.08.30
JAVA 13-2  (0) 2023.08.29
JAVA 13-1  (0) 2023.08.29