int타입뿐 만 아니라 다른 기본타입에도 해당된다.
for문을 사용하여 array의 전체 원소를 차레대로 list에 추가
int array[] = new int[]{1,2,3};
for(int i : array){
list.add(i);
}
stream을 이용했다.
Arrays.stream(array) = array배열을 stream으로 변환
boxed() = int타입을 Integer타입으로 박싱(변환)
collect(Collectors.toList()) = stream을 Collection의 List로 변환
List list1 = Arrays.stream(array)
.boxed()
.collect(Collectors.toList());
for문을 사용하여 list에 있는 원소의 값을 arrays배열에 순서대로 대입해주었다.
int [] arrays = new int[list.size()];
for(int i=0;i< list.size();i++){
arrays[i]=list.get(i);
}
stream을 사용했고 차례대로 나누면
list.stream() = list를 stream으로 변경
mapToInt() = stream을 intstream으로 변경
(i -> i) = Integer타입 원소를 int타입으로 자동언박싱해준다.
toArray() = stream을 array로 바꿔서 반환한다.
int [] arr = list.stream().mapToInt(i -> i).toArray();
방법2와 같은 방식인데
(i -> i)에서 자동언박싱되는 방법이 아니라
(Integer::intValue) = Integer의 메소드 intvalue를 통해 명시적으로 Integer타입을 int로 변경해서 intstream을 변경했다.
int [] arry = list.stream().mapToInt(Integer::intValue).toArray();
for문을 사용하여 st의 원소를 차례대로 list에 대입하였다.
String[] st = new String[]{"test"};
List<String> stList = new ArrayList<>();
for(String s : st){
stList.add(s);
}
Arrays.stream(st) = st를 이용해 stream 생성
toList() = stream을 List형식으로 변경해서 반환
String[] st = new String[]{"test"};
List<String> stList = Arrays.stream(st).toList();
for문을 통해 list의 값을 차례대로 array에 삽입한다.
stList = new ArrayList<>();
stList.add("test");
String st[] = new String[stList.size()];
for(int i=0; i<stList.size();i++){
st[i] = stList.get(i);
}
List.toArray() = list를 object[]으로 변환
new String[stList.size()] = object타입이 아니라 stList 의 사이즈 크기만큼의 String타입의 array로 변환
List<String> stList = new ArrayList<>();
stList.add("test");
String[] st = stList.toArray(new String[stList.size()]);