Fairy ' s
[JAVA] ArrayList ? 본문
ArrayList
- ArrayList는 List 인터페이스를 상속받은 여러 클래스들 중 하나이다.
- 여러 데이터를 순서대로 관리할 때 사용
- 일반 배열과 다른 점은 크기가 가변적으로 변한다는 것이다.
- 일반 배열은 선언할 때 int[] nums = new int[5]; 이런 식으로 선언하기 때문에 크기를 바꿀 수 없다.
- ArrayList 사용 / 메서드 종류
// String 타입의 ArrayList 생성하여 names 라는 지역 변수에 담음
List<String> names = new ArrayList<>();
// ArrayList에 인덱스 값 추가, 인덱스 추가는 add를 사용
names.add("AAA");
names.add("BBB");
names.add("CCC");
// ArrayList의 배열 크기는 size를 사용
int size = names.size();
// 인덱스에 저장된 내용 참조
String name1 = names.get(0);
String name2 = names.get(1);
String name3 = names.get(2);
// 인덱스 값 수정
String prevName = names.set(0, "DDD");
// 인덱스 삭제
names.remove(0);
names.remove("BBB");
// 참조 값을 활용한 삭제
Integer value = 20;
nums.remove(value);
nums.remove(new Integer(20));
// 모든 인덱스 삭제
names.clear();
예제 1
package test;
import java.util.ArrayList;
import java.util.List;
import test.mypac.Member;
public class maptest {
public static void main(String[] args) {
List<Member> members=new ArrayList<>();
Member mem1=new Member();
mem1.num=1;
mem1.name="김구라";
mem1.addr="노량진";
Member mem2=new Member();
mem2.num=2;
mem2.name="해골";
mem2.addr="행신동";
members.add(mem1);
members.add(mem2);
for(int i=0; i<members.size(); i++) {
Member tmp=members.get(i);
String line="번호=>"+tmp.num+", 이름=>"+tmp.name+", 주소=>"+tmp.addr;
System.out.println(line);
}
for(Member tmp:members) {
String line="번호=>"+tmp.num+", 이름=>"+tmp.name+", 주소=>"+tmp.addr;
System.out.println(line);
}
}
}
- Member 타입을 저장할 수 있는 ArrayList 객체의 member 지역변수에 값을 담는다.
- Member 객체를 생성해서 mem1이라는 지역변수에 값을 담는다.
- mem1과 mem2에 회원의 정보를 담고, members.add(); 를 이용해서 생성된 배열(ArrayList)에 저장
List<Member> a=members;
Member b=members.get(0);
int c=members.get(0).num;
String d=members.get(0).name;
String e=members.get(0).addr;
- List<Member> 에서 Member 타입으로 생성한 ArrayList 객체의 a 지역변수에 members 배열에 담은 데이터를 담는다.
- Member 객체의 b 지역변수에 members 배열의 0번째 인덱스의 데이터를 담는다.
- 타입 별로 선언한 c, d, e에 members의 0번째 인덱스에 담았던 num, name, addr 정보를 담는다.
'Study > JAVA' 카테고리의 다른 글
[JAVA] Exception / try ~ catch (0) | 2023.01.11 |
---|---|
[JAVA] Wrapper Class ? (0) | 2023.01.11 |
[JAVA] Generics Class ? (0) | 2023.01.10 |
[JAVA] HashMap / HashSet? (0) | 2023.01.10 |
[JFrame] JFrame 이란? / 기초 예제 구현 (0) | 2023.01.09 |
Comments