728x90
반응형
컬렉션 프레임워크의 종류
- 데이터를 읽고 쓰는 방식에 따라 크게 4가지를 제공한다.
- Set, List, Queue, Map 인터페이스
List 인터페이스를 구현하여 제공하는 ArrayList를 소개하려고한다.
List 인터페이스를 구현하여 제공하는 클래스 2종 => ArrayList와 LinkedList
List : 데이터의 순번이 존재하고, 중복이 가능하다.
이에 비해, 나중에 소개할 인터페이스 Set : 데이터의 순번이 없고, 중복이 불가하다.
ArrayList
- 데이터가 여러개 저장될 수 있는 통을 생성.
- 같은 자료형의 데이터만 들어갈 수 있다.
문자열 객체를 생성하는 방법
1 | List<String> list = new ArrayList<>(); | cs |
ArrayList<String> list = new ArrayList<String>(); 이와 같이 작성해도 무방하나, 통상적으로 위에걸로 사용한다.
데이터를 저장, 삭제, 읽기하는 방식
1 2 3 4 5 6 7 8 9 10 11 | //데이터 저장 list.add("java"); list.add("C++"); list.add("python"); list.add("python"); // List는 데이터가 중복으로도 들어간다. //데이터 삭제 list.remove(0); // 데이터 읽기 list.get(0); | cs |
원하는대로 한번 출력해보자.
1 2 3 4 5 6 7 8 9 | // List에 저장된 데이터의 개수. System.out.println(list.size()); //list에 저장된 모든 데이터 출력 System.out.println(list); for(int i =0; i<list.size(); i++) { System.out.println(list.get(i)); } | cs |
정수형 객체를 생성하는 방법
1 2 3 4 5 6 7 8 | // 정수를 여러개 저장할 수 있는 list // list의 저장될 데이터의 자료형으로 기본 자료 형은 불가. // 래퍼클래스를 사용.-> Integer List<Integer> list = new ArrayList<>(); list.add(10); list.add(5); list.add(100); | cs |
배운걸 가지고 연습해보고자 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | package list; import java.util.ArrayList; import java.util.List; public class List03 { public static void main(String[] args) { // Man 객체가 다수 저장될 수 있는 리스트 생성. List<Man> list = new ArrayList<>(); Man m1 = new Man("박주홍", 20); Man m2 = new Man("김", 29); Man m3 = new Man("이주인", 23); list.add(m1); list.add(m2); list.add(m3); // List에 저장된 모든 Man 객체를 출력. for(int i=0; i<list.size(); i++) { System.out.println(list.get(i)); // toString이 출력된다. // .toString()이 생략된것과 똑같음. } System.out.println(); for( Man e : list ) { System.out.println(e); // Man 객체에 생성된 toString이 실행된다. } System.out.println(); // list에 저장된 사람들 중에 이름이 "김" 인 // 사람을 찾아서 그 사람의 나이를 출력 for(int i=0; i<list.size(); i++) { if(list.get(i).getName().equals("김")) { System.out.println(list.get(i).getAge()); } } } } class Man{ private String name; private int age; public Man(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Man{" + "name='" + name + '\'' + ", age=" + age + '}'; } } | cs |
Man 클래스를 만들고, main 메소드가 있는 클래스에서 실행시켜보았다.
list.get(i).getAge() 와 같이 하나의 리스트 안에 있는 세세한 정보 하나를 출력하기 쉽기 때문에 정말 많이 쓰인다.
728x90
반응형
'✨ Java > 컬렉션 프레임워크(CollectionFramework)' 카테고리의 다른 글
자바(JAVA) - 컬렉션프레임워크 Map - 2 (0) | 2023.03.31 |
---|---|
자바(JAVA) - 컬렉션프레임워크 List와 Map 같이쓰기 (0) | 2023.02.15 |
자바(JAVA) - 컬렉션프레임워크 Map (0) | 2023.02.15 |
자바(JAVA) - 컬렉션프레임워크 Set (0) | 2023.02.15 |
자바(JAVA) - ArrayList 이용해 회원 관리 시스템 만들기 (0) | 2023.02.15 |
댓글