ArrayList는 배열보다 많이 쓰인다. 왜냐하면, 지정한 인덱스 요소에 유연성을 가지고 있기 때문이다. 배열은 지정해줘야 때문에 어떤 수량으로 데이터가 오는지 확실하지 않을 때는 ArrayList를 쓰이게 된다.
단순히 add()
, remove()
, get()
메서드 방법도 존재한다.
하지만
니는 ArrayList.asList()
방식을 애용한다.
더 최신 방법이니 더 편하고 간결하게 쓸 수 있다.
List<UserDto> strList = Arrays.asList(
new UserDto("dsg", 12, "male"),
new UserDto("kmb", 13, "male"),
new UserDto("lbk", 14, "female"),
new UserDto("kmj", 15, "male")
);
String[] strarray = {"dsg", "kmb", "lbk", "kmj"};
for (String res : strarray) {
System.out.println(res);
}
List를 쓰는 데 for문은 forEach문을 자주 사용해야 한다.
forEach문안에 숨겨진 구문 의미도 파악을 해야 잘 사용할 수 있다!
for (String res : strarray) {
// 숨겨진 구문의미 : res = strarray[i]; && strarray.size()만큼
System.out.println(res);
}
java8버전부터 List같은 Collection 들은 stream을 이용해서 더 편하게 forEach문을 사용할 수 있어졌다.
// stream && lamda
System.out.println(strList.stream()
.map(UserDto::getName) // middle
.forEach(i -> { // final
System.out.println(i);
});
.collect(Collectors.toList())); // final List<T> 타입 반환