ArrayList 라이브러리란?
기존의 Array(배열)은 정해진 데이터의 갯수 이상으로는 데이터 추가가 불가하다
갯수 제한 없이 데이터를 마음대로 추가, 수정, 삭제하기 위하여 만든 라이브러리 이다.
ArrayList 라이브러리 사용법(규칙)
담고싶은 데이터의 타입을 < > 안에 적어줘야 한다.
ArrayList<String> nameList = new ArrayList<>();
(1) 패키지 하나에 작성
- 사람의 이름을 저장할 수 있는 데이터 스트럭쳐 만들기
import java.util.ArrayList; //ArrayList 라이브러리 임포트
public class ArrayListMain {
public static void main(String[] args) {
// 데이터 추가
nameList.add("홍길동");
nameList.add("김나나");
nameList.add("Mike");
// 데이터 억세스
System.out.println(nameList.get(0));
System.out.println(nameList.get(1));
System.out.println(nameList.get(2));
// 전체 데이터를 다 출력하시오.
for(int i = 0 ; i < nameList.size() ; i++ ) { //nameList는 length 대신 size 쓴다
System.out.println(nameList.get(i));
}
// for each 반복문
for( String name : nameList) { //nameList에 있는 것을 하나씩 빼서 저장한다
System.out.println(name);
}
// 첫번째 데이터 홍길동을 김길동으로 변경 (수정)
nameList.set(0,"김길동");
System.out.println(nameList.get(0));
// 데이터 1개 삭제하기
// 인덱스로 삭제
nameList.remove(0);
// 값으로 삭제
nameList.remove("Mike");
// 모든 데이터 한꺼번에 삭제
nameList.clear();
// 데이터 비어있는지 아닌지 확인하는 함수
if( nameList.isEmpty() ) {
System.out.println("비어있다.");
} else {
System.out.println("데이터가 있다.");
}
}
}
(2) 패키지 여러개에 작성
- 주소록을 저장할 수 있는 데이터 스트럭쳐 만들기
Person 클래스 작성하기
package model;
public class Person {
private String name;
private String phone;
public Person() { // 디폴트 생성자 생성
}
// Constructor 생성자 생성
public Person(String name, String phone) {
this.name = name;
this.phone = phone;
}
// getter and setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
ArrayListMain 클래스 작성하기
package main;
import java.util.ArrayList;
import model.Person;
public class ArrayListMain {
public static void main(String[] args) {
ArrayList<Person> personList = new ArrayList<>();
Person p = new Person("홍길동","010-2222-3333");
personList.add(p);
p = new Person("김나나", "010-3333-4444");
personList.add(p);
p = new Person("Mike", "010-1111-1111");
personList.add(p);
// 주소록의 특정 인물 출력
Person person = personList.get(1);
System.out.println(person.getName());
System.out.println(person.getPhone());
// 주소록의 모든 사람의 이름과 전화번호 출력
for (Person p1 : personList) {
System.out.println(p1.getName() + " : " + p1.getPhone());
}
for (int i = 0; i < personList.size(); i++) {
Person p1 = personList.get(i);
System.out.println(p1.getName() + " : " + p1.getPhone());
}
// 두번째 데이터인 김나나의 주소록 삭제
personList.remove(1);
// 홍길동의 전화번호 010-9999-8888로 변경
Person p1 = personList.get(0);
person.setPhone("010-9999-8888");
// 모든 데이터 삭제
personList.clear();
}
}
* person, p, p1 처럼 변수 이름을 다양화 하는 이유는?
구분하기 위해서: person, p, p1 변수 이름을 사용하여 서로 다른 범위(scope)와 용도를 구분하려는 의도이다. 특히, 동일한 이름을 사용하면 변수의 의미와 사용 목적이 헷갈릴 수 있기 때문에 다른 이름을 부여하는 경우가 많다.
코드 블록 내의 임시 변수: 반복문이나 임시로 사용하는 변수는 짧은 이름을 사용하는 경우가 많다. 반복문 안에서 p1이라는 이름을 사용하여 반복문 내부의 변수임을 나타낸다.
'Java' 카테고리의 다른 글
Java에서 NullPointerException 발생 시 해결 방법 (0) | 2024.06.04 |
---|---|
자바(Java)의 "HashMap" 딕셔너리와 비슷한 데이터 스트럭쳐 (0) | 2024.06.04 |
자바의 문자열(String) 데이터 가공하기 (0) | 2024.06.03 |
자바 객체 지향 프로그래밍에서 Interface(인터페이스)를 활용하기 (0) | 2024.06.03 |
자바의 추상화(Abstract)의 용도와 방법 (0) | 2024.06.03 |