Java中的List和Map是兩種非常常見的數(shù)據(jù)結(jié)構(gòu),它們分別用于存儲(chǔ)有序序列和鍵值對(duì)。那么,它們的區(qū)別是什么呢?下面我們來詳細(xì)解析。
List:
List<String> list = new ArrayList<>(); list.add("apple"); list.add("banana"); list.add("orange"); System.out.println(list.get(1)); // 輸出 "banana"
List是一種有序的序列,可以添加重復(fù)的元素,根據(jù)索引位置進(jìn)行訪問。上面的代碼中,我們創(chuàng)建了一個(gè)ArrayList,添加了三個(gè)水果,然后通過get方法獲取了第二個(gè)元素,即"banana"。
Map:
Map<String, String> map = new HashMap<>(); map.put("apple", "red"); map.put("banana", "yellow"); map.put("orange", "orange"); System.out.println(map.get("banana")); // 輸出 "yellow"
Map是一種鍵值對(duì)映射的數(shù)據(jù)結(jié)構(gòu),每個(gè)元素包含一個(gè)key和對(duì)應(yīng)的value。key是唯一的,如果重復(fù)添加,后面的元素會(huì)覆蓋掉前面的元素。上面的代碼中,我們創(chuàng)建了一個(gè)HashMap,添加了三個(gè)水果和它們對(duì)應(yīng)的顏色,然后通過get方法獲取了key為"banana"的元素的value,即"yellow"。
綜上所述,List和Map都是Java中非常常用的數(shù)據(jù)結(jié)構(gòu),它們分別用于存儲(chǔ)有序序列和鍵值對(duì)。它們的主要區(qū)別在于存儲(chǔ)的數(shù)據(jù)形式不同,List用于存儲(chǔ)有序的元素,Map用于存儲(chǔ)鍵值對(duì)的映射。