欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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);




}

Java之Map接口和泛型
Map常用方法
Java之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());
}

Java之Map接口和泛型

三、泛型

将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性

泛型约束了集合框架添加元素的安全性,错误的元素类型添加会编译报错

Java之Map接口和泛型
map需要添加两个约束
Java之Map接口和泛型
这个需要从内往外看
Java之Map接口和泛型

四、Collections

Java之Map接口和泛型
排序
Java之Map接口和泛型

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高级特性