파이썬으로 코테를 치다가 java로 넘어오면서 첫 관문은 리스트인 것 같다.
파이썬에서는 리스트==배열 이었는데, 자바는 아니라서 일일이 선언해주는 법을 익혀야 한다.
import java.util.ArrayList;
import java.util.Arrays;
ArrayList<Long> arr = new ArrayList<>();
ArrayList<Integer> arr2 = new ArrayList<>();
import java.util.stream.Collectors;
int[] arr = {1,2,3};
ArrayList<Integer> list = (ArrayList) Arrays.stream(arr).boxed().collect(Collectors.toList());
System.out.println(list);
ArrayList<Integer> list1 = new ArrayList<>();
list1.add(1); //[1]
list1.add(2); //[1,2]
list1.add(3); //[1,2,3]
list1.add(0, 10);[10,1,2,3]
list1.remove(Integer.valueOf(2)); //[10,1,3]
list1.remove(1); //[10,3]
System.out.println("list1.size() : " + list1.size()); //2
System.out.println(list1.contains(10)); //true
System.out.println(list1.indexOf(10)); //0
int[] answer = arr.stream().mapToLong(Long::longValue).toArray();
int[] answer2 = arr2.stream().mapToInt(Integer::intValue).toArray();
List에 조금 추가
LinkedList list2 = new LinkedList();
list2.add(1); //[1]
list2.add(2); //[1,2]
list2.add(3); //[1,2,3]
list2.addFirst(5); //[5,1,2,3]
list2.add(0,10); //[10,5,1,2,3]
list2.addLast(33); //[10,5,1,2,3,33]
list2.remove(Integer.valueOf(1)); //[10,5,2,3,33]
list2.removeFirst(); //[5,2,3,33]
list2.removeLast(); //[5,2,3]
import java.util.ArrayList;
import java.util.Arrays;
ArrayList<String> list = new ArrayList<>(Arrays.asList(str));
//배열을 리스트로 변환 : 배열 -> stream-> int를 Integer로 변환 -> (Array)list
ArrayList list = (ArrayList)Arrays.stream(arr).boxed().collect(Collectors.toList());
//리스트에서 인덱스참조 삭제
list.remove(idx);
//리스트를 배열로 변환: list -> stream -> Integer를 int로 변환 -> 배열
answer = list.stream().mapToInt(Integer::intValue).toArray();