import java.util.HashMap;
HashMap<Integer, Integer> hashmap = new HashMap<>();
// 1. 增
hashmap.put(1, 100);
hashmap.put(2, 200);
hashmap.put(3, 300);
hashmap.put(4, 400);
// 2. key集合,用于遍历所有的键
System.out.println("hashmap.keySet() = " + hashmap.keySet());
for(Integer key : hashmap.keySet()){
System.out.println(key + " ");
}
// 3. value集合,用于遍历所有的值
System.out.println(hashmap.values());
for(Integer value : hashmap.values()){
System.out.println(value + " ");
}
// 4. 遍历所有键值对
for(Integer key : hashmap.keySet()){
// 5. 获取key的值
System.out.println(key + ": " + hashmap.get(key));
}
// 6. 删
hashmap.remove(1);
// 7. 查
boolean bool = hashmap.containsValue(200);
boolean bool1 = hashmap.containsKey(3);
// 8. 改
hashmap.put(4, 500);
// 9. 排序
// (1) TreeMap 按id排序
TreeMap<Integer, Integer> sortedMap = new TreeMap<>();
sortedMap.putAll(map);
// (2) Comparator 按值排序
List<Map.Entry<Integer, Integer>> list = new ArrayList<>(map.entrySet());
list.sort(new Comparator<Map.Entry<Integer, Integer>>(){
@Override
public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2){
if (o1.getValue.equals(o2.getValue())){
return o1.getKey().compareTo(o2.getKey());
}
return o1.getValue().compareTo(o2.getValue());
// 重写排序规则,小于0表示升序,大于0表示降序
// return o1.getValue()-o2.getValue();
}
});
Iterator<Map.Entry<Integer, Integer>> it = list.iterator();
while(it.hasNext()){
Map.Entry<Integer, Integer> item = it.next();
System.out.println(item.getKey(), it.getValue());
}
// 10. 获取元素个数
int sizeMap = hashmap.size();
Java中HashMap常用方法-增删改查遍历排序索引
最新推荐文章于 2023-03-19 10:00:00 发布