List和Set是Java集合框架中常用的兩種數據結構,用來存儲一組元素,但它們的查詢效率有所不同。
在List中,元素按照插入的順序排列,可以根據下標直接訪問某個元素,因此查詢某個元素的效率比較高。示例代碼如下:
List<String> list = new ArrayList<>(); list.add("apple"); list.add("banana"); list.add("pear"); System.out.println(list.get(1)); //輸出"banana"
而在Set中,元素不按照插入的順序排列,而是按照元素的hashCode值進行存儲,因此不能根據下標直接訪問元素。但是,Set的查詢效率比List要高,因為它使用哈希表進行存儲,可以快速定位某個元素是否存在。示例代碼如下:
Set<String> set = new HashSet<>(); set.add("apple"); set.add("banana"); set.add("pear"); System.out.println(set.contains("banana")); //輸出true
綜合來說,如果需要按照順序存儲一組元素,并且需要頻繁根據下標訪問元素,那么應該選擇List;如果不需要按照順序存儲元素,但需要頻繁查詢元素是否存在,那么應該選擇Set。
上一篇php 中函數