黑马程序员_常用集合类
来源:互联网 发布:红河烟草集团知乎 编辑:程序博客网 时间:2024/06/16 12:36
------- android培训、java培训、期待与您交流!----------
集合:就是一个容器,用于存储对象。
以下是集合中常用的类:
Collection(顶层接口)
--List:元素是有序的,元素可以重复,因为该集合体系有索引;
--ArrayList:底层的数据结构使用的是数组结构,特点:查询速度比较快,增删稍慢,线程不同步
--LinkedList:底层的数据结构是链表数据结构,特点:增删速度快,查询慢。
--Vector:底层是数组数据结构,线程同步,被ArrayList替代了。
注意:可变长度的数组ArrayList和Vector默认都是10个空列表,使用完之后ArrayList是50%增长,Vector是100%增长,枚举(Enumeration)是Vector特有的取出方式
--Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复
--HashSet:底层数据结构是哈希表,线程是非同步的.
--HashSet保证元素唯一性的原理:是通过元素的两个方法,hashCode和equals来完成的。
如果元素的HashCode值相同,才会判断equals是否为true。
如果元素的hashCode值不同,不会调用equals。
注意:对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashCode和equals方法。
--TreeSet:底层数据结构是二叉树;特点:可以对Set集合中的元素进行排序
保证元素唯一性的依据:CompareTo方法 是否 return 0;
Map(顶层类)集合:该集合存储键值对,一对一对往里存。而且要保证键的唯一性。
---Hashtable:底层是哈希表数据结构,不能存入null键null值。该集合线程是同步的。jdk1.0效率低
---HashMap:底层是哈希表数据结构,可以存入null键null值。线程是不同步的。jdk1.2效率高
---TreeMap:底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序。
注意:和set集合很像,其实set集合底层就是使用了map集合
--List:元素是有序的,元素可以重复,因为该集合体系有索引;
--ArrayList:底层的数据结构使用的是数组结构,特点:查询速度比较快,增删稍慢,线程不同步
--LinkedList:底层的数据结构是链表数据结构,特点:增删速度快,查询慢。
--Vector:底层是数组数据结构,线程同步,被ArrayList替代了。
注意:可变长度的数组ArrayList和Vector默认都是10个空列表,使用完之后ArrayList是50%增长,Vector是100%增长,枚举(Enumeration)是Vector特有的取出方式
--Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复
--HashSet:底层数据结构是哈希表,线程是非同步的.
--HashSet保证元素唯一性的原理:是通过元素的两个方法,hashCode和equals来完成的。
如果元素的HashCode值相同,才会判断equals是否为true。
如果元素的hashCode值不同,不会调用equals。
注意:对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashCode和equals方法。
--TreeSet:底层数据结构是二叉树;特点:可以对Set集合中的元素进行排序
保证元素唯一性的依据:CompareTo方法 是否 return 0;
Map(顶层类)集合:该集合存储键值对,一对一对往里存。而且要保证键的唯一性。
---Hashtable:底层是哈希表数据结构,不能存入null键null值。该集合线程是同步的。jdk1.0效率低
---HashMap:底层是哈希表数据结构,可以存入null键null值。线程是不同步的。jdk1.2效率高
---TreeMap:底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序。
注意:和set集合很像,其实set集合底层就是使用了map集合
Collections: 集合工具类,里面都是静态方法。
Arrays:用于操作数组的工具类,里面都是静态方法
- 黑马程序员_常用集合类
- 黑马程序员_王康Java常用集合类
- 黑马程序员_集合常用类及方法
- 黑马程序员_集合类
- 黑马程序员_集合类
- 黑马程序员_集合类
- 黑马程序员_集合类
- 黑马程序员_集合类
- 黑马程序员_集合类
- 黑马程序员_集合类_迭代器
- 黑马程序员_常用类
- 黑马程序员_常用类
- 黑马程序员_常用类
- 黑马程序员_集合
- 黑马程序员_集合
- 黑马程序员_集合
- 黑马程序员_集合
- 黑马程序员_集合
- 深入解析Nginx的pcre库及相关注意事项
- java的小知识
- 女人写给男人的10句肺腑之言
- 听道笔记-03-31-2013-《耶稣的复活》---远志明
- 3Sum Closest
- 黑马程序员_常用集合类
- CSDN怎么比较快的获得积分
- 4Sum
- 为iPhone App切图的技巧
- 【ci框架】对CI框架中几个文件libraries,helpers,hooks夹说明
- 【ci框架】CI框架简单文件上传总结
- 【ci框架】谈CI框架的安全性
- 【ci框架】codeigniter框架开发技巧
- 【ci框架】CI框架支持$_GET两种方法