Java之Map接口和泛型
程序员文章站
2022-03-23 22:11:23
一、Map接口Map是接口,与Collectiom是并列的关系public static void main(String[] args) { //创建集合对象,并存放元素信息 Map countries=new HashMap(); countries.put("chaina","中国"); countries.put("chaina1","中国1"); countries.put("chaina2","中国2"); countries.put("cha...
一、Map接口
Map是接口,与Collectiom是并列的关系
public static void main(String[] args) {
//创建集合对象,并存放元素信息
Map countries=new HashMap();
countries.put("chaina","中国");
countries.put("chaina1","中国1");
countries.put("chaina2","中国2");
countries.put("chaina3","中国3");
//获取集合中的元素个数(键值对的对数)
System.out.println(countries.size());
//获取集合中特定元素,返回的是Object类型,需要进行类型转向
String country= (String) countries.get("chaina");
System.out.println(country);
}
Map常用方法
//判断集合中是否存在某一个国家,是一个布尔类型
countries.containsKey("chaina");
System.out.println(countries.containsKey("chaina"));
//删除某个特定key的键值对
countries.remove("chaina");
System.out.println(countries.containsKey("chaina"));
//获取键的集合、值的集合、键值对的集合
System.out.println(countries.keySet());
System.out.println(countries.values());
System.out.println(countries);
二、遍历Map
方法一:增强for
//方法一:增强for
Set keys=countries.keySet();
for (Object obj:keys){
String key= (String) obj;//遍历key
String value= (String) countries.get(key);//通过key访问每一个值
System.out.println(key+" "+value);
}
方法二:迭代器Iterator
//方法一:使用迭代器Iterator迭代器
Iterator itor=keys.iterator();
while (itor.hasNext()){
//获取到的每一个key
String key= (String) itor.next();//遍历key
String value= (String) countries.get(key);//通过key访问每一个值
System.out.println(key+" "+value);
}
方法三:遍历key-value
//方法二:获取Map中的所有键值对,然后分别去kry和value
Set set=countries.entrySet();
//遍历键值对的集合,Map.Entry的类型的键值对
for (Object obj:set){
Map.Entry me= (Map.Entry) obj;
me.getKey();//获取键值对中的key
me.getValue();//获取键值对中的value
System.out.println(me.getKey()+" "+me.getValue());
}
三、泛型
将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性
泛型约束了集合框架添加元素的安全性,错误的元素类型添加会编译报错
map需要添加两个约束
这个需要从内往外看
四、Collections
排序
public int compareTo(Object o) { if (this.no==((person) o).no){ return 0; }else if (this.no>((person) o).no){ return 1; }else { return -1; }}
Collections.sort(person);
for (Object obj:person){
person person1= (preview.person) obj;
System.out.println(person1.no);
}
本文地址:https://blog.csdn.net/zmzdmx/article/details/107681112
上一篇: 阿里架构师深度学习java虚拟机心得PDF、不愧是进了阿里的大牛
下一篇: Zstd 压缩性能分析