Java
LinkedList
langsamUndStetig
2022. 5. 27. 19:59
import java.util.*;
public class bucky {
public static void main(String[] args) {
String[] things = {"apples", "noobs", "eggs", "bacon", "goATS"};
List<String> list1 = new LinkedList<String>();
for(String thing : things) {
list1.add(thing);
}
String[] things2 = {"sausage", "bacon", "goats", "harrypotter"};
List<String> list2 = new LinkedList<>();
for(String thing : things2) {
list2.add(thing);
}
list1.addAll(list2);
list2 = null;
printMe(list1);
removeStuff(list1, 2, 5);
printMe(list1);
reverseMe(list1);
}
private static void printMe(List<String> l) {
for(String b : l){
System.out.printf("%s ", b);
}
System.out.println();
}
private static void removeStuff(List<String> l, int from, int to) {
//sublist를 사용해서 from ~ to-1 의 값을 끄집어낸 후, clear로 제거
l.subList(from, to).clear();
}
private static void reverseMe(List<String> l) {
ListIterator<String> li = l.listIterator(l.size());
while(li.hasPrevious()){
System.out.printf("%s ", li.previous());
}
}
}
LinkedList
장점
1. 크기가 정해져 있지 않음. (메모리가 허락하는 한 늘려도 됨)
2. 중간에 값을 변경, 추가, 삭제가 ArrayList에 비해 빠름
단점
1. index 찾는 게 느림