一、JavaList 簡介
JavaList 是一種常見的數據結構,它是一個有序的集合,可以存儲重複的元素。JavaList 是 Java API 中最為常用的集合之一,可以根據索引快速訪問元素,還可以在列表中任意地插入和刪除項。
JavaList 接口有兩個實現類:ArrayList 和 LinkedList。ArrayList 實現了可變大小的數組,LinkedList 實現了一個雙向鏈表。兩者均支持 get()
和 set()
方法,但是 ArrayList 更適合於隨機訪問元素,而 LinkedList 更適合於添加和刪除元素。
二、JavaList 篩選方法
1. 篩選出符合條件的元素
List numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7); List evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList());
上面的 Java 代碼用 stream().filter() 篩選出了列表中的所有偶數,然後將它們放入一個新列表 evenNumbers 中。
2. 篩選第一個符合條件的元素
List names = Arrays.asList("Alice", "Bob", "Charlie", "Dave"); Optional firstNameWithC = names.stream() .filter(name -> name.startsWith("C")) .findFirst();
以上 Java 代碼用 stream().filter().findFirst() 篩選出了列表中第一個以字母 “C” 開頭的名字,並將其賦值給 firstNameWithC 變量。由於 firstNameWithC 是一個 Optional 對象,所以需要使用 isPresent()
方法來判斷其中是否存在該元素。
3. 篩選出最後一個符合條件的元素
List names = Arrays.asList("Alice", "Bob", "Charlie", "Dave"); Optional lastNameWithB = names.stream() .filter(name -> name.endsWith("b")) .reduce((first, second) -> second);
以上 Java 代碼使用 stream().filter().reduce() 篩選列表中最後一個以字母 “b” 結尾的名字,由於 reduce() 返回的是一個 Optional 對象,所以需要使用 isPresent()
方法來判斷其中是否存在該元素。
4. 刪除列表中符合條件的元素
List names = new ArrayList(Arrays.asList("Alice", "Bob", "Charlie", "Dave")); names.removeIf(name -> name.startsWith("C"));
以上 Java 代碼中用 removeIf() 方法刪除了列表中所有以字母 “C” 開頭的名字,其中 removeIf() 方法會返回一個 boolean 類型,表示是否有任何元素被刪除。
5. 篩選並計數符合條件的元素
List names = Arrays.asList("Alice", "Bob", "Charlie", "Dave"); long nameCountWithB = names.stream() .filter(name -> name.contains("b")) .count();
以上 Java 代碼使用 stream().filter().count() 篩選出列表中包含字母 “b” 的名字,並計算個數。注意,count() 方法返回的是一個 long 類型。
三、JavaList 篩選總結
本文介紹了 JavaList 的基礎知識,並詳細列舉了 JavaList 篩選的五種方法,分別是:篩選出符合條件的元素、篩選第一個符合條件的元素、篩選出最後一個符合條件的元素、刪除列表中符合條件的元素以及篩選並計數符合條件的元素。
這些方法都十分實用,具有很大的用途價值,希望本文能幫助讀者更好地掌握 JavaList 的篩選技巧。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/311541.html