集合框架之Map篇

先上思维导图,按顺序来:

 一:Map集合的特点

①增删查改

②键值对形式存在

③key可以为空

论证代码如下:

二:Map集合的遍历方式

分为EntrySetKeySet

 三:常用实现类HashMap(统计字符串出现的次数)

思路1.字符串转换成字符数组

2.遍历数组,将字符放入Map集合中

3.判断:如果字符没有,那么就给字符对应的值设置为1,如果有,就给对应的值+1

 

 

 

★★★四:泛型

①作用:
    将运行时产生的异常转换为编译期的错误 

    提高代码的健壮性

比如:以下使用泛型编译的时候不会报错,但在你运行之后就会报String不能转换为Integer

(java.lang.String cannot be cast to java.lang.Integer)

那么在来对比下,如果把Object类型换为Integer类型那么在编译时就会告诉你报错了。


 

大概结构是这样,概念还有点模糊,还需要去深度拓展。可参考以下大神的(由以下链接进):

①:https://blog.csdn.net/s10461/article/details/53941091?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%B3%9B%E5%9E%8B&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-.nonecase&spm=1018.2226.3001.4187

②:https://blog.csdn.net/sunxianghuang/article/details/51982979?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%B3%9B%E5%9E%8B&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-2-.nonecase&spm=1018.2226.3001.4187

五:集合框架工具类

①:利用Collections( 比较器接口 )进行排序

 list也能进行排序,只是是Comparator提供的

    List<User> list=new ArrayList<>();
        list.add(new User("张三",60));
        list.add(new User("大五",59));
        list.add(new User("王四",20));
        list.add(new User("麻子",40));

// 比较器接口  年龄从低到高进行排序
        Collections.sort(list,new Comparator<User>() {
        @Override
        public int compare(User o1, User o2) {
            // TODO Auto-generated method stub
            return o1.getAge()-o2.getAge();
        }
        });
    for (Object s : list) {
        System.out.println(s);
    }
    }
}
    class User implements Comparable{
        private String name;
        private int age;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        @Override
        public String toString() {
            return "User [name=" + name + ", age=" + age + "]";
        }
        public User(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }
        public User() {
            super();
            // TODO Auto-generated constructor stub
        }
        @Override
        public int compareTo(Object o) {
            // TODO Auto-generated method stub
            return 0;
        }
        

运行结果如下:

②:集合转数组(toArray)这个是list本身的,但在开发中运用较多的还是sort。toArray里的方法都挺多的

③:Arrays

★将数组变成集合来操作,不能违背数组本身的特点,比如,数组长度不可变,只能用list现有元素进行操作,把他变为list也不能添加东西。 集合的API要比数组的更丰富

①:toString

②:asList

 

③:sort

到此结束!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值