黑马程序员map集合汇总

黑马程序员map集合汇总

ID:42845299

大小:55.50 KB

页数:9页

时间:2019-09-22

黑马程序员map集合汇总_第1页
黑马程序员map集合汇总_第2页
黑马程序员map集合汇总_第3页
黑马程序员map集合汇总_第4页
黑马程序员map集合汇总_第5页
资源描述:

《黑马程序员map集合汇总》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、黑马程序员Map集合汇总集合:为什么要出现集合呢?我们祁知道数据多了,用数组存储,或是封装成对象,那么对象多了就需要用集合存储。那么数组和集合都是容器,冇什么不同呢?1)数组长度是定的,集合长度是可变的2)数组屮只能存储基木数据类型,集合中存储的是对象集合的特点:1)用于存储对彖的容器2)集合的长度是可变的3)集合屮不可以存储基木数据类型为什么会出现那么多的容器呢?因为每一个容器对数据的存储方式不同,这个存储方式称为:数据结构。集合中存储的是对象吗?答案是否定的,集合和数组一样,里面都存储的是对彖的地址值

2、。集合中存储的都是对彖的引用。Iterator:迭代器山來:每个容器多有自己的収出方式,因为収岀的动作只有集合自己最清楚,那么就把取出的方式定义在集合内部类,但是每个容器的数据结构不同,所以取出的动作细节也不一样,但是共性内容都是判断和取出,那么可以将共性内容进行抽取。那么这些内部类否符合一个规则,该规则就是通过对外提供的方法获取iterator();降低了容器和数据耦合性。。。(比如游戏厅里的夹娃娃机,有的是三个爪,有的是四个爪,但是他们都一个共性都是定一在箱子内部的,都可以夹娃娃,只对外提供一个操纵杆

3、,我们只需要操作杆了就可以了,里面的东西我们不需要的了解)注意:当我们在使用迭代器操作集合中的元素时,不可以通过集合对象的方法操作集合屮的元素,因为会发生ConcurrentModificationException(并发修改错误)所以,在迭代时,只能使用迭代器中方法操作元素,可是Iterator中的方法是有限的,只能对元素进行判断,取出和删除的操作。如果想要对元素进行如添加,修改等,就需要其子接口,Listiterator接口来完成。Collection:l-List:元素是有序的(存入和取出的顺序),

4、可以重复,因为该集合体系都有索引。1-ArrayList:底层使用的是数组结构,线程不同步,效率高特点:查询速度快,但是增删速度慢,50%延长1-LinkedList:底层是链表结构,线程不同步(使用频率不高)特点:查询速度慢,但是增删速度快。特有方法:jdkl.6后取代的方法addFirst()>offerFirst()addLast()>offerLast()getFirst()>peekFirst()getLast()>peekLast()[获取但不删除,如果集合'I'没有元索,会出现NoSuchE

5、lementException界'常]・・>jdk1.6后,返回nullremoveFirst()>pollFirst()removeLast()>pollLast()[获取但是元素被删除,如果集合中没有元素,会出现NoSuchElementException异常卜->jdkl・6后,返回nulll--Vector:底层是数组结构,线程同步(被ArrayList替代),效率低枚举:就是vector特冇的取出方式,和迭代器很彖,但是由于名称和方法名过长,所以被迭代器去代了。町变长度数组:不断new数组完成的

6、,就是将原有数组中的元素Copy到新数纽中。List集合中的特有方法:凡是可以操作脚标的都是该体系的特有方法o添加J:add(index,element);addAll(index,collection);删除:remove(index);修改:set(index,elment);获取:get(index);subList(from,to);listlterator();Lsit集合中判断元索是否唯一使用的是equals()方法。开发吋怎么选择合适的集合使用:1,如果你取到的元素很多,元素当中涉及到频繁的

7、增删操作,使用LinkedList集合2,如果同时涉及增删和查询时,可以使用ArrayList也可以使用LinkedList,建议使用ArrayList,因为更多的时候我们查询的情况更常见。I-Set:元素是无序的(存储和取出的顺序不一定一致),元素不可以l--HashSet:底层数据结构是哈希表。HashSet是如何保证元素的唯一性呢?通过元素的两个方法,hashCode和equals方法来完成,如果元素hashCode相同,还会判断对彖的equal是否为ture,如果元素hashCode值相同,则不会

8、调用equals.实际开发时,描述事物只耍往集合中存储,一般都要覆写hashCode和equals方法。我们在存人对象hashCode方法中可以将年龄乘以一个值,可以义提高比较效率。l--TreeSet:底层数据结构是二叉树。特点:可以对Set集合中的元素进行自然排序。排序的第一种方式:让元素H具备比较性,让对象实现Comparable接口,覆写ComparaTo方法。排序的第二种方式:当元素自身不具备比较性,或是具备的比较性

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。