第二章 集合框架和泛型(二)

第二章 集合框架和泛型(二)

一、Map

map的使用

以键值对形式进行储存数据

key不能重复

常用方法
方法名说明
Object put(Object key, Object val)以“键-值”对的方式进行存储
Object get(Object key)根据键返回相关联的值,如果不存在指定的键,返回null
Object remove(Object key)删除由指定的键映射的“键-值对”
int size()返回元素个数
Set keySet()返回键的集合
Collection values()返回值的集合
boolean containsKey(Object key)如果存在由指定的键映射的“键-值对”,返回true
public static void main(String[] args) {
        Map p = new HashMap();
        //赋值
        p.put("CH","中国");
        p.put("EG","英国");
        p.put("JP","小日子");
        System.out.println("——————————————————");
        //根据key获得value
        Object obj = p.get("CH");
        System.out.println(obj);
        System.out.println("——————————————————");
        //获得map大小
        System.out.println(p.size());
        System.out.println("——————————————————");
        //根据key删除元素
        p.remove("EG");
        System.out.println(p.size());
        System.out.println("——————————————————");
        //根据key将值改为null
        p.put("JP",null);

        //获得所有key
        for (Object obj1 : p.keySet()){
            System.out.println(obj1);
        }
        System.out.println("——————————————————");

        //获得所有值
        Collection a =p.values();
        System.out.println(Arrays.toString(a.toArray()));

        //查询指定key是否存在
        boolean b = p.containsKey("CN");
        System.out.println(b);
    }
遍历Map集合
		Map a = new HashMap();
		//赋值
		p.put("CN","中国");
        p.put("EG","英国");
        p.put("JP","日本");

		//键值对
		System.out.println(a.get("CN"));

		//增强循环
        for (Object obj1 : p.keySet()){
                    System.out.println(obj1+a.get(obg1);
        }
        
        //迭代器
        Set p = a.keySet();
        Iterator i = p.iterator();
        whil(i.gasNext()){
            Object k = i.next();
            System.out.println(k+a.get(k));
        }

二、泛型集合

泛型:以数据类型作为参数传递

传递数据类型必须是引用数据类型:

int == Integer
char == Character
//定义泛型list
    List<Integer> a = new ArrayList<Integer>();
//定义泛型set
	Set<Long> a =new HashSet<Long>();
//定义泛型map
	Map<String,Integer>map = new HashMap<String,Integer>();

三、Collections算法类

Collections类常用方法

Collections和Collection不同,前者是集合的操作类,后者是集合接口

Collections提供的常用静态方法

sort():排序

max()\min():查找最大\最小值

Collections排序

Collections类可以对集合进行排序、查找和替换操作

实现一个类的对象之间比较大小,该类要实现Comparable接口

重写compareTo()方法

public int compareTo(Person o) {
        if (this.mark < o.mark) {
            return 1;
        } else if (this.mark > o.mark) {
            return -1;
        } else {
            if (this.ega == o.ega) {
                return 0;
            } else if (this.ega > o.ega) {
                return 1;
            } else {
                return -1;
            }
        }
    }

if (this.ega > o.ega) {
return 1;
} else {
return -1;
}
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值