Để lấy một đoạn nhỏ trong LinkedList chúng ta sử dụng method subList() để lấy một đoạn nhỏ trong LinkedList.
syntax:
public List<E> subList(int fromIndex, int toIndex)
Vì subList trả về List nên chúng ta cần chuyển nó sang LinkedList.
import java.util.Collections; import java.util.Comparator; import java.util.LinkedList; public class Main { public static void main(String args[]) { LinkedList<Integer> linkedList = new LinkedList<>(); linkedList.add(200); linkedList.add(300); linkedList.add(400); linkedList.add(150); linkedList.add(600); LinkedList subLinkedList = new LinkedList(linkedList.subList(1, 3)); System.out.println(subLinkedList); } }
output: [300, 400]
subList kết hợp với sắp xếp
Cho LinkedList chứa các số nguyên, lấy 3 số nguyên lớn nhất trong LinkedList và xuất ra màn hình.
import java.util.Comparator; import java.util.LinkedList; public class Main { public static void main(String args[]) { LinkedList<Integer> linkedList = new LinkedList<>(); linkedList.add(200); linkedList.add(300); linkedList.add(400); linkedList.add(150); linkedList.add(600); linkedList.sort(Comparator.comparingInt(o -> (int)o).reversed()); LinkedList subLinkedList = new LinkedList(linkedList.subList(0, 3)); System.out.println(subLinkedList); } }
Output: [600, 400, 300]
Note:
Nếu chúng ta truyền vào toIndex lớn hơn số lượng phần tử của mảng thì chúng ta sẽ nhận lại IndexOutOfBoundsException.
Nếu fromIndex lớn hơn toIndex thì chúng ta sẽ nhận IllegalArgumentException.