当前位置: 移动技术网 > IT编程>开发语言>Java > Java之Map接口和泛型

Java之Map接口和泛型

2020年07月31日  | 移动技术网IT编程  | 我要评论
一、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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网