카테고리 없음
[Java] Array & ArrayList 비교 정리
321
2020. 12. 30. 13:43
ArrayList를 배우고 있는 중에 비교정리 한 것.
Array | ArrayList | |
선언 | String[] arr = new String[100]; arr의 크기가 100으로 제한됨 |
ArrayList arrList1 = new ArrayList(); 모든 형 가능(object) ArrayList<String> arrList2 = new ArrayList<String>(); String형으로 제한 |
추가 | arr[0]="arr0"; arr[1]="arr1"; [ ] 안에 배열 번호를 넣어주어야 한다. |
arrList.add("arrList0"); arrList.add("arrList1"); 자동으로 마지막으로 비어있는(null) 배열에 추가된다. |
조회 | arr[0] | arrList.get(0) |
삭제 | arr[1]=null; arr[2]가 있다면 이후의 값들의 위치는 변하지 않음 |
arrList.remove(1) 혹은 arrList.remove("arrList1") 이후의 데이터들은 하나씩 앞당겨짐 String st = arrList.remove(1); 이렇게 변수에 담아서 삭제된 데이터를 확인할 수도 있음. |
검색 (indexOf) |
int index=0; for(int i=0;i<arr.length;i++){ if(arr[i].equals("arr0"){ index=i; } } index==찾는 값("arr0")의 인덱스 |
arrList.indexOf("arrList0") 찾는 값("arrList0")의 인덱스를 반환한다. 찾는 값이 없다면 0을 반환한다. |
검색 (contains) |
위와 같은 식에서 boolean값을 넣어서 if조건이 존재한다면 true를 반환하게 함 |
arrList.contains("arrList1") == true; |
2024. 07. 20 내용 추가
public static void main(String[] args) {
String[] friendsArray = new String[10]; // size
String[] friendArray2 = { "John", "Chris", "Eric", "Luke"};
ArrayList<String> friendsArrayList = new ArrayList<>(); // grow and shrink automatically
ArrayList<String> friendsArrayList2 = new ArrayList<>(Arrays.asList( "John", "Chris", "Eric", "Luke")); // mutable list
System.out.println(friendArray2[1]);
System.out.println(friendsArrayList2.get(1));
System.out.println(friendArray2.length);
System.out.println(friendsArrayList2.size()); // method call
friendArray2[0] = "Ryan";
System.out.println(friendArray2[0]);
friendsArrayList2.set(0, "Ryan");
System.out.println(friendsArrayList2.get(0));
System.out.println(friendArray2); // [Ljava.lang.String;@1c4af82c
System.out.println(friendsArrayList2); // [Ryan, Chris, Eric, Luke]
// cannot with Arrays
friendsArrayList2.add("Katie");
System.out.println(friendsArrayList2.get(4));
friendsArrayList2.remove("Katie");
friendsArrayList2.remove(0);
System.out.println(friendsArrayList2);
}
https://www.youtube.com/watch?v=NbYgm0r7u6o