-
ArrayList 역시 List 인터페이스(Interface)를 구현하고 있기 때문에 List가 제공하는 기능들을 다 제공할 수 있으므로 List 선언 시 구현 인스턴스의 자료형으로 작성할 수 있다.
-
하지만, List와 다르게 ArrayList의 자료형으로 생성한 경우 LinkedList로 새롭게 구현체를 만들거나 형변환(Casting)을 할 수는 없다.
List<객체> findAll()
-
이 메서드(Method)는 모든 Member 객체들을 리스트 형태로 반환한다.
List의 메서드
remove()
get(int index)
set(int index, E element)
size()
contains(Object o)
- Arrays.of()와는 대조적으로, 이 메서드는 변경불가한(unmodifiable) list 객체를 생성한다.
List<Integer> list = new ArrayList<Integer>();
list = new LinkedList<Integer>(); // 요구사항 변경 등의 이유로 구현체가 바뀌어도 호환 가능
List<String> fruits = new ArrayList<>();
fruits.add("apple");
fruits.add("banana");
fruits.add("cherry");
fruits.remove("banana"); // return 값은 true or false
for(String item : fruits){
System.out.println(item);
}
//출력 : apple
//출력 : cherry
List<String> fruits = new ArrayList<>();
fruits.add("apple");
fruits.add("banana");
fruits.add("cherry");
fruits.remove("banana"); // return 값은 true or false
for(String item : fruits){
System.out.println(item);
}
//출력 : apple
//출력 : cherry
List<String> fruits = new ArrayList<>();
fruits.add("apple");
fruits.add("banana");
fruits.add("cherry");
fruits.set(1, "orange");
for(String item : fruits){
System.out.println(item);
}
//출력 : apple
//출력 : orange
//출력 : cherry
List<String> fruits = new ArrayList<>();
fruits.add("apple");
fruits.add("banana");
fruits.add("cherry");
int numOfFruits = fruits.size();
System.out.println(numOfFruits);
//출력 : 3
List<String> fruits = new ArrayList<>();
fruits.add("apple");
fruits.add("banana");
fruits.add("cherry");
boolean hasBanana = fruits.contains("banana");
System.out.println(hasBanana);
//출력 : true