欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java set 和 map

錢諍諍1年前7瀏覽0評論

Java中的Set和Map都是集合(Collection)的一種,但是它們和List的最大不同點在于不允許重復元素,也有區分Collection的不重復(沒有兩個元素e1和e2滿足e1.equals(e2)),是否有序的特點,接下來分別介紹Set和Map。

Set

Set是Java中的一種集合,可以存儲不重復的元素,通常用于去重或者判斷某個元素是否存在。

常見的Set實現有:

  • HashSet:基于哈希表實現,可以快速插入、刪除、查找元素,但不保證其順序
  • TreeSet:基于紅黑樹實現,可以按照元素的自然排序或指定Comparator實現的順序進行排序
  • LinkedHashSet:基于哈希表和雙向鏈表實現,保證元素插入和遍歷的順序一致

下面是使用HashSet和TreeSet的例子:

import java.util.HashSet;
import java.util.TreeSet;
public class SetDemo {
public static void main(String[] args) {
HashSet<String> hashSet = new HashSet<>();
hashSet.add("apple");
hashSet.add("banana");
hashSet.add("orange");
hashSet.add("apple");
System.out.println(hashSet); // [orange, banana, apple]
TreeSet<Integer> treeSet = new TreeSet<>();
treeSet.add(3);
treeSet.add(2);
treeSet.add(1);
System.out.println(treeSet); // [1, 2, 3]
}
}

Map

Map是一種映射,可以將一個鍵映射到一個值,它也可以被當作一種特殊的集合,包含了鍵值對的映射,特別適合用于需要根據鍵來查找元素的場合。

常見的Map實現有:

  • HashMap:基于哈希表實現,可以快速插入、刪除、查找元素,但不保證鍵值對的順序
  • TreeMap:基于紅黑樹實現,支持按照鍵的自然順序或指定Comparator實現的順序遍歷鍵值對,常常用于有序存儲鍵值對的場合
  • LinkedHashMap:基于哈希表和雙向鏈表實現,保證元素插入的順序

下面是使用HashMap和TreeMap的例子:

import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
public class MapDemo {
public static void main(String[] args) {
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("apple", 1);
hashMap.put("banana", 2);
hashMap.put("orange", 3);
hashMap.put("apple", 4);
System.out.println(hashMap); // {orange=3, banana=2, apple=4}
TreeMap<String, Integer> treeMap = new TreeMap<>();
treeMap.put("apple", 1);
treeMap.put("banana", 2);
treeMap.put("orange", 3);
System.out.println(treeMap); // {apple=1, banana=2, orange=3}
}
}