Java之Map接口和泛型
程序员文章站
2022-06-24 19:48:31
一、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
上一篇: SqlSever查询某个表的列名称、说明、备注、注释,类型等实例解析
下一篇: 接口——Java基础
推荐阅读
-
Java 泛型示例 - 泛型方法,类,接口
-
Java泛型之自限定类型
-
JavaScript之Map和Set_动力节点Java学院整理
-
荐 JAVA13——容器(Map接口、Equals和hashcode、Set接口、容器存储数据练习、Iterator接口)
-
【JAVA】用Comparable接口学生的成绩做降序排序!请正确指定泛型;用Comparator实现按照姓名排序,请正确指定泛型!
-
Java基础之Collections框架Map接口实现类HashMap及其源码分析(1)
-
java学习困难重重之泛型篇
-
集合框架与泛型(二)——Map接口、Collections类和泛型
-
Java基础知识回顾之四 ----- 集合List、Map和Set
-
Java开发笔记(七十)Java8新增的几种泛型接口