Java中的Map和Set是兩種常見的集合類,它們在實現上有很大的區別:
1. Map
Map是一種將鍵映射到值的對象。Map中不允許鍵重復,但允許值重復。Map通常用于需要通過鍵來查找值的情況,例如:存儲商品名和與之對應的價格。
2. Set
Set是一種不允許重復元素的集合。Set通常用于存儲沒有順序要求的一組元素,例如存儲教授教授的所有課程名。
以下是一個使用Map的例子:
Map<String, Integer> gradeMap = new HashMap<>(); gradeMap.put("Alice", 85); gradeMap.put("Bob", 77); gradeMap.put("Charlie", 92); Integer grade = gradeMap.get("Bob");
以下是一個使用Set的例子:
Set<String> courseSet = new HashSet<>(); courseSet.add("Java"); courseSet.add("Python"); courseSet.add("Java"); int size = courseSet.size();
由于Map和Set在實現上的區別,它們在不同的場景下可以分別發揮自己的優勢。在需要存儲鍵值對并按鍵查找值的情況下,使用Map更為合適;在需要存儲一組元素且沒有順序要求的情況下,使用Set更為合適。