HIGH JAVA DAY2 - ArrayList

어뮤즈온·2021년 1월 11일
0

고급자바

목록 보기
2/7

ArrayList

List 인터페이스를 상속받은 클래스로 크기가 가변적으로 변하는 선형리스트로 배열과 같은 순차리스트이며 인덱스로 내부의 객체를 관리한다. 객체들이 추가되어 저장 용량을 초과한다면 자동으로 부족한 크기만큼 저장 용량이 늘어나는 특징을 가지고 있다.

ArrayList는 기본적인 사용법이 Vector와 같다.


1. 객체생성 ArrayList 사용하기

데이터 추가

  • add()메서드를 이용하여 추가한다.
ArrayList list1 = new ArrayList();

list1.add("aaa");
list1.add("bbb");
list1.add(123);
list1.add('k');
list1.add(false);
list1.add(123.45);

System.out.println("size => " + list1.size());
System.out.println("list1 => " + list1.toString());
//size => 6
//list1 => [aaa, bbb, 123, k, false, 123.45]

데이터 꺼내오기

  • get()메서드로 데이터를 꺼내온다.
System.out.println("1번째 데이터 : " + list1.get(1));
//1번째 데이터 : bbb

데이터 끼워넣기

list1.add(3, "zzz");
System.out.println("list1 => " + list1);
//list1 => [aaa, bbb, 123, zzz, k, false, 123.45]

데이터 변경

  • set(index, 변경할 데이터)
String temp = (String)list1.set(3, "yyy");
System.out.println("temp => " + temp);
System.out.println("list1 => " + list1);
//temp => zzz
//list1 => [aaa, bbb, 123, yyy, k, false, 123.45]

데이터 삭제

  • remove(index)
list1.remove(3); //index가 3번째인 데이터 삭제
System.out.pritnln("list1 => " + list1);
//list1 => [aaa, bbb, 123, k, false, 123.45]

2. 제네릭 타입 ArrayList 사용하기

데이터 추가

ArrayList<String> list2 = new ArrayList<>();
list2.add("AAAAA");
list2.add("BBBBB");
list2.add("CCCCC");
list2.add("DDDDD");
list2.add("EEEEE");

for(int i = 0; i < list2.size(); i++){
	System.out.println(i + " ==> " + list2.get(i));
}
//0 ==> AAAAA
//1 ==> BBBBB
//2 ==> CCCCC
//3 ==> DDDDD
//4 ==> EEEEE

for(String str : list2){
	System.out.println(str);
}
//AAAAA
//BBBBB
//CCCCC
//DDDDD
//EEEEE

데이터 비교

  • contains(비교객체)

→ 리스트에 '비교객체'가 있으면 true, 없으면 false를 반환한다.

System.out.println("DDDDD값 존재 여부 : " + list2.contains("DDDDD");
System.out.println("ZZZZZ값 존재 여부 : " + list2.contains("ZZZZZ");
//DDDDD값 존재 여부 : true
//ZZZZZ값 존재 여부 : false
  • IndextOf(비교객체)

→ 리스트에 '비교객체'가 있으면 '비교객체'가 위치한 index값을 반환하고 '비교객체'가 없으면 -1을 반환한다.

System.out.println("DDDDD의 위치 값 : " + list2.indexOf("DDDDD"));
System.out.println("ZZZZZ의 위치 값 : " + list2.indexOf("ZZZZZ"));
//DDDDD의 위치 값 : 3
//ZZZZZ의 위치 값 : -1

데이터 반환

  • toArray()

→ 리스트 안의 데이터를 배열로 변환하여 반환한다.

→ 기본적으로는 Object형 배열로 반환한다.

Object[] strArr = list2.toArray();
System.out.println("배열의 개수 : " + strArr.length);
//배열의 개수 : 5

for(int i = 0; i < strArr.length; i++){
	System.out.println(i + " ===> " + strArr[i]);
}
//0 ===> AAAAA
//1 ===> BBBBB
//2 ===> CCCCC
//3 ===> DDDDD
//4 ===> EEEEE
  • toArray(new 제네릭타입[0])

→ 제네릭 타입의 배열로 변환해서 반환한다.

String[] strArr2 = list2.toArray(new String[0]);
for(String str : strArr2){
	System.out.println(str);
}
//AAAAA
//BBBBB
//CCCCC
//DDDDD
//EEEEE
profile
Hello, world!

0개의 댓글