List 介面擴充了 Collection 並宣告了儲存元素序列的集合的行為。清單的使用者可以非常精確地控制將元素插入到清單中的位置。這些元素可透過其索引存取並且可搜尋。 ArrayList是List介面最受歡迎的實作。
List介面方法subList()可用來取得清單的子清單。它需要開始和結束索引。此子列表包含與原始列表中相同的對象,並且對子列表的更改也將反映在原始列表中。在本文中,我們將透過相關範例討論 subList() 方法。
List<E> subList(int fromIndex, int toIndex)
傳回此清單中指定 fromIndex(包括)和 toIndex(不包含)之間部分的視圖。
如果 fromIndex 和 toIndex 相等,則傳回的清單為空。
傳回的清單由此清單支持,因此傳回清單中的非結構性變更會反映在此清單中,反之亦然。
傳回的清單支援此清單支援的所有可選清單操作。
fromIndex - 子清單的低階點(包括)。
toIndex - 子清單的高階點(不包含)。
此清單中指定範圍的視圖。
IndexOutOfBoundsException - 對於非法的端點索引值(fromIndex size || fromIndex > toIndex)
以下是從清單中取得子清單的範例:
package com.tutorialspoint; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class CollectionsDemo { public static void main(String[] args) { List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e")); System.out.println("List: " + list); // Get the subList List<String> subList = list.subList(2, 4); System.out.println("SubList(2,4): " + subList); } }
這將產生以下結果-
List: [a, b, c, d, e] SubList(2,4): [c, d]
以下範例顯示使用sublist() 也有副作用。如果您修改子列表,它將影響原始列表,如範例所示 -
package com.tutorialspoint; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class CollectionsDemo { public static void main(String[] args) { List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e")); System.out.println("List: " + list); // Get the subList List<String> subList = list.subList(2, 4); System.out.println("SubList(2,4): " + subList); // Clear the sublist subList.clear(); System.out.println("SubList: " + subList); // Original list is also impacted. System.out.println("List: " + list); } }
#這將產生以下結果 -
List: [a, b, c, d, e] SubList(2,4): [c, d] SubList: [] List: [a, b, e]
以上是如何在Java中取得列表的子列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!