NỘI DUNG BÀI VIẾT
List là một interface trong java. Nó chứa các phương thức để chèn và xóa các phần tử dựa trên chỉ số index.
Khai báo interface List trong Java:
public interface List<E> extends Collection<E>
Code language: PHP (php)
Các phương thức của interface List trong java
Method | Description |
---|---|
void add(int index,Object element) | Nó được sử dụng để chèn các phần tử vào list tại chỉ số index. |
boolean addAll(int index,Collection c) | Nó được sử dụng để chèn tất cả các yếu tố của c vào danh sách tại chỉ số index. |
object get(int index) | Nó được sử dụng để trả về đối tượng được lưu trữ tại chỉ số index trong list. |
object set(int index,Object element) | Nó được sử dụng để gán phần tử cho vị trí được chỉ định index trong list. |
object remove(int index) | Nó được sử dụng để xóa các phần tử tại vị trí có chỉ số index và trả về phần tử đã xóa. |
ListIterator listIterator() | Nó được sử dụng để trả về một Iterator mà bắt đầu từ phần tử đầu tiên của list. |
ListIterator listIterator(int index) | Nó được sử dụng để trả về một Iterator mà phần tử bắt đầu từ chỉ số index chỉ định. |
Ví dụ về Array to List
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ArrayToList {
public static void main(String[] args) {
String[] vowels = {"a","e","i","o","u"};
List<String> vowelsList = Arrays.asList(vowels);
System.out.println(vowelsList);
/**
* List is backed by array, we can't do structural modification
* Both of the below statements will throw java.lang.UnsupportedOperationException
*/
//vowelsList.remove("e");
//vowelsList.clear();
//using for loop to copy elements from array to list, safe for modification of list
List<String> myList = new ArrayList<>();
for(String s : vowels){
myList.add(s);
}
System.out.println(myList);
myList.clear();
}
}
Code language: JavaScript (javascript)
Ví dụ List to Array
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ListToArray {
public static void main(String[] args) {
List<String> letters = new ArrayList<String>();
// add example
letters.add("A");
letters.add("B");
letters.add("C");
//convert list to array
String[] strArray = new String[letters.size()];
strArray = letters.toArray(strArray);
System.out.println(Arrays.toString(strArray)); //will print "[A, B, C]"
}
}
Code language: JavaScript (javascript)
Ví dụ Sort List trong Java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class ListSortExample {
public static void main(String[] args) {
List<Integer> ints = new ArrayList<>();
Random random = new Random();
for (int i = 0; i < 10; i++) ints.add(random.nextInt(1000));
//natural sorting using Collections class
Collections.sort(ints);
System.out.println("Natural Sorting: "+ints);
//My custom sorting, reverse order
ints.sort((o1,o2) -> {return (o2-o1);});
System.out.println("Reverse Sorting: "+ints);
}
}
Code language: JavaScript (javascript)
Output:
Natural Sorting: [119, 273, 388, 450, 519, 672, 687, 801, 812, 939]
Reverse Sorting: [939, 812, 801, 687, 672, 519, 450, 388, 273, 119]
Code language: CSS (css)
Java List Common Operations
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ListExample {
public static void main(String args[]) {
List<String> vowels= new ArrayList<String>();
//add example
vowels.add("A");
vowels.add("I");
//let's insert E between A and I
vowels.add(1,"E");
System.out.println(vowels);
List<String> list = new ArrayList<String>();
list.add("O");list.add("U");
//appending list elements to letters
vowels.addAll(list);
System.out.println(vowels);
//clear example to empty the list
list.clear();
//size example
System.out.println("letters list size = "+vowels.size());
//set example
vowels.set(2, "E");
System.out.println(vowels);
//subList example
vowels.clear();vowels.add("E"); vowels.add("E");vowels.add("I"); vowels.add("O");
list = vowels.subList(0, 2);
System.out.println("letters = "+vowels+", list = "+list);
vowels.set(0, "A");
System.out.println("letters = "+vowels+", list = "+list);
list.add("U");
System.out.println("letters = "+vowels+", list = "+list);
}
}
Code language: PHP (php)
Output:
[A, E, I]
[A, E, I, O, U]
letters list size = 5
[A, E, E, O, U]
letters = [E, E, I, O], list = [E, E]
letters = [A, E, I, O], list = [A, E]
letters = [A, E, U, I, O], list = [A, E, U]
Code language: PHP (php)
Java List iterator
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ListIteratorExample {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
for(int i=0; i<5; i++) list.add(i);
Iterator<Integer> iterator = list.iterator();
//simple iteration
while(iterator.hasNext()){
int i = (int) iterator.next();
System.out.print(i + ", ");
}
System.out.println("\n"+list);
//modification of list using iterator
iterator = list.iterator();
while(iterator.hasNext()){
int x = (int) iterator.next();
if(x%2 ==0) iterator.remove();
}
System.out.println(list);
//changing list structure while iterating
iterator = list.iterator();
while(iterator.hasNext()){
int x = (int) iterator.next(); //ConcurrentModificationException here
if(x==1) list.add(10);
}
}
}
Code language: PHP (php)
Output:
0, 1, 2, 3, 4,
[0, 1, 2, 3, 4]
[1, 3]
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
at java.util.ArrayList$Itr.next(ArrayList.java:851)
at com.journaldev.examples.ListIteratorExample.main(ListIteratorExample.java:34)
Code language: PHP (php)
Đó là tất cả một bản tổng hợp nhanh về list trong Java. Tôi hy vọng những ví dụ về List Java này sẽ giúp bạn bắt đầu với lập trình Collection List.
Happy learning!!!