test2 대비
ArrayList 개념
import java.util.ArrayList;
/*ArrayList클래스의 특징
1. arraylist는 요소를 추가하면 차례대로 0번인덱스 위치부터 요소가 추가되는 형태
따라서 순차적인 접근이나 뒤에서부터 데이터를 추가하거나 삭제할 때 효과적이다.
끝부분에 요소 추가
요소를 추가하면 해당 인덱스에 요소가 정렬(오름차순/내림차순)되면서 추가된다.
요소하나 추가시 ArrayList array1 = new ArrayList();
(ArrayList자체가 배열이기 때문에 []쓸 필요 없다.)
*/
public class ArrayListTest {
public static void main(String[] args) {
ArrayList array1 = new ArrayList();
array1.add("A"); //[0] = "A"
array1.add("B"); //[1] = "B"
array1.add("C"); //[2] = "C"
array1.add("D"); //[3] = "D"
array1.add("E"); //[4] = "E"
System.out.println(array1);
array1.remove(2); //index=2
System.out.println(array1);
//삭제되며 공간이 땅겨진다!! 정렬! : 일반배열과 다른점
//[0]=A [1]=B [2]=D [3]=E
//그래서 실무에선 이걸 많이 쓰인다.
array1.add(2, "C"); //index=2 에 문자열을 넣어라.
//공간을 뒤로 밀어버린다!! 다른점2
System.out.println(array1);
array1.add(2, "G");
System.out.println(array1);
//따라서 공간을 자유롭게 줄였다 늘였다 할 수 있다.
}
}
[A, B, C, D, E]
[A, B, D, E]
[A, B, C, D, E]
[A, B, G, C, D, E]
import java.util.ArrayList;
import com.kh.test.model.vo.Card;
public class ArrayListTest1 {
public static void main(String[] args) {
ArrayList array = new ArrayList();
array.add("A");
array.add(1);
array.add(1.5); //여러가지 다른 타입 다 됨!! 다 들어감
array.add(true);
//편하긴 하나 타입이 다를 경우 하나씩 꺼내서 사용하기 힘들다?
ArrayList<String> sarray = new ArrayList<String>();
//따라서 한 타입만 다룰 경우 이렇게! 단 기본형은 안되고 String 등 참조형 클래스만
//다른 타입은 사용못하게 <>로 미리 막아놓는다.
//test2예제로서 Card만 들어갈 수 있다.
ArrayList<Card> array2 = new ArrayList<Card>();
Card card = new Card("SPADE", 4);
array.add(card);
//
ArrayList<String> array3 = new ArrayList<String>();
array3.add("한국");
array3.add("미국");
array3.add("미국");
array3.add("미국3");
for(int i=0; i<array3.size(); i++) {
System.out.println(array3.get(i));//get()가져온다.
}
// array3.remove(0);
array3.remove("미국");
System.out.println(array3);
}
}
한국
미국
미국3
[한국, 미국, 미국3]