java基础之集合篇笔记

                                                                       我的java笔记,期待与您交流!

依旧今天来做一下集合部分的笔记

开始做笔记.

一:什么是集合呢?集合和数组相比有什么区别呢?

   集合和数组一样说白了就是容器,作用就是用来存储数据的,但是数组长度固定,而且存储的都是同一类型的元素,所以满足不了我们开发的需求,所以这才有了集合.

所以集合长度不固定,而且存储的可以是不同类型的元素.

二:集合主要有哪些呢?

集合主要有list,set,map这三块,而list和set都是Collection子接口,list和set主要存储一组对象,而map存储键值对.

三:list接口常用的类有ArrayList和LinkedList,二者的区别是ArrayList查询快,而LinkedList增删块,二者用的场合不一样.

下面我就用几行简单的代码演示一下ArrayList存储字符串并且取出的具体用法

这里为了方便我直接使用简单for循环没有用迭代器输出

再来演示一下存储取出自定义对象

从上面的代码中可以看到list集合中元素存入的顺序等于取出的顺序,list集合与set集合最重要的区别除了存取取的顺序,还有一个就是list集合可以存放重复的元素,但是set集合不行,set集合保证存入元素的唯一性,而且不保证存取顺序一致

其中set集合最常用的子类就属HashSet和TreeSet了,HashSet底层是哈希表,主要是查询快,并且HashSet通过hashCode()和equals()方法来确保存入元素的唯一性.而TreeSet底层是二叉树结构,主要是是用来排序用的,通过实现Comparable接口来达到自然排序的目的,通过实现Comparator接口来实现定向的排序.

下面就用一个例子来演示一下比较器排序:

说完了set集合我再来简单说下map集合,map集合和前面的list和set这些单列集合最主要的区别就是map集合是双列集合,它存储的是键值对

map集合常用的子类有HashMap和TreeMap,其中TreeMap是可以实现排序的功能

下面附上几行代码演示一下Map集合的基本使用

最后,那么集合中Collection子类那么多我们要存储数据的时候选择谁呢?

我认为可以根据这样的原则来选用:

存储的对象唯一吗?

不唯一:   list

-----查询多就用ArrayList

------增删多就用LinkedList

唯一:set

        -----排序就用TreeSet

-----不排序就用HashSet

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值