集合知识笔记

1.集合的概述:主要作用就是存储数据。解决了数组的缺点,也就是说我们在定义集合的时候不再声明大小。而且里面的数据默认是任意类型。集合的容量是随着数据的增加而自动增大。
 
2. 集合层次结构:最高的接口就是Collection,它有两个子接口,一个是无序的set,一个是有序的List.
                             还有一个Map,存储数据是键值对的方式来存储。


3. 有序集合list
          有顺序的。
                方法: 
                           add() : 存数据
                           get() : 取数据
                           isEmpty(): 判断集合是否为空
                           size() : 获取集合中存储了多少元素
                           indexOf(): 查询数据在集合中的位置。
                           remove(index) :按照索引进行删除
                           remove(对象) : 删除集合中的某个对象
    
                注意: remove,indexOf方法在执行的时候要调用对象的equals方法来做比较。只有返回true,才认为是相同的元素。否则不同。

   新的循环:foreach循环


4. 无序集合 : 数据的摆放没有顺序。无序集合就不允许有重复的数据。
                       重复: 无序集合在存放数据的时候会自动调用对象的hashCode和equals方法两个来判断是否是同一个对象。先调用hashCode方法,如果HashCode返回值不一样,那么就直接认为是不同的对象(也就是说不用再调用equals方法做内容的比较了。)如果HashCode返回值一样,那么还要调用equals方法做比较,equals方法返回true才认为两个对象是一样的。否则不一样,这才是重复的含义。

      常用方法:
                    add() : 存数据
                           get() : 取数据
                           isEmpty(): 判断集合是否为空
                           size() : 获取集合中存储了多少元素
                           remove(对象) : 删除集合中的某个对象
       注意: remove,contains方法在执行的时候要调用对象的hashCode和equals方法来做比较。只有完全一致,才认为是相同的元素。否则不同。


       泛型:集合的泛型主要是用来规定集合中存储数据的类型。
               为什么用泛型?
                        好处:  a. 可以提高效率。 (我们从集合中获取不再强制转换)
                                     b . 把错误提示提前到了编译阶段。而不是运行阶段。

                  泛型需要用<>来表示,中间写集合中的数据类型。
                 泛型的写法:
                        List<String> list = new Arraylist() ;
           List<String> list = new Arraylist<>() ;
                        List list2 = new ArrayLIst<String>() ;    写法编译通过,但泛型不起作用的。
                        List<Object> list3 = new ArrayList<String>() ;  编译都通过不了错误


  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值