day17(集合框架Set)总结

day17(集合框架Set)总结

ID:36437701

大小:100.00 KB

页数:7页

时间:2019-05-10

day17(集合框架Set)总结_第1页
day17(集合框架Set)总结_第2页
day17(集合框架Set)总结_第3页
day17(集合框架Set)总结_第4页
day17(集合框架Set)总结_第5页
资源描述:

《day17(集合框架Set)总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、传智播客----------------------------------------------java基础许正Day17总结1、LinkedList:特有方法:1、增加:addFirst()addLast()JDk1.6之后出现了替代方法BooleanofferFirst()BooleanofferLast()实现代码:Publicstaticvoidmain(String[]args){LinkedLislink=newLinkedList();Link.addFirst("abc1");Link.a

2、ddFirst("abc2");Link.addFirst("abc3");Link.addFirst("abc4");While(!link.isEmpty()){//此方法可以按照顺序取出元素,但是被删除,可以去模拟一些简单的数据结构Sop(link.removeLast());//abc1、abc2、abc3、abc4}}重点:模拟堆栈、队列这两种常见的数据结构;实现代码:队列:先进先出Publicstaticvoidmain(String[]args){DuiLied=newDuiLie();d.my

3、Add("abc1");d.myAdd("abc2");d.myAdd("abc3");While(!d.isNull()){//判断是否有元素Sop(d.myGet());}}ClassDuiLie{PrivateLinkedListlink;DuiLie(){Link=newLinkedList();}提供添加元素的方法PublicvoidmyAdd(Objectobj){link.addFirst(obj);//这里修改为link.addLast()就是堆栈}提供获取元素的方法-7-专注、目标、勤奋、坚

4、持、执行力传智播客----------------------------------------------java基础许正PublicObjectmyGet(){Returnlink.removeLast();}判断集合中是否有内容PublicbooleanisNull(){Returnlink.isEmpty();}}1、获取:ObjectgetFirst()获取对象,不删除,如果集合中没有元素会抛出NoSuchElementException;ObjectgetLast();JDK1.6后Object

5、peekFirst()Objectpeeklast()2、获取对象:ObjectremoveFirst()获取到元素,但是删除了。ObjectremoveLast();ObjectpollFirst()ObjectpollLasr()1、Set集合:无序、不重复、该接口中的方法和Collection接口中的方法一致。

6、--HashSet:低层哈希表数据结构,不同步的,它保证元素唯一性的方式:根据元素的两个方法来完成的,一个是hashCode、一个equals。只有当hashCode方法算出的哈希值相同时,会再

7、次判断两个元素的equals方法是否为ture;如果是true说明两个元素相同,不存储,所以往hashSet集合中存储自定义对象时,要覆盖hashCode、equals方法,通过自定义独享具备的特有数据来定义hashCode、equals的具体实现。哈希结构表分析:-7-专注、目标、勤奋、坚持、执行力传智播客----------------------------------------------java基础许正Hash表和数组表的比较,哈希表数据结构是按照元素的特征通过指定的功能算出该元素的位置,这种方式

8、查找时候比较快,不用去遍历整个数组,直接用要查找的数据进行元素即可,存入其他的数据类型也可以,比如说字符串,只要定义一个功能算法对其进行运算即可,注意:哈希值冲突,比如31%10和21%10最后的值都是1,只是往1角标中存储就冲突了,怎么去解决这个问题呢?哈希表有种特殊的方式:再散列方式(就是再把这个数据进行取模,算出其他的位置),除此之外还有另外一种方式:当算到相同的值时,就在该冲突的位置的基础上向下顺延一个位置出来,这时候便不再冲突了,如过还有值冲突就继续向下顺延,上图结构通过equals方法来判断对象是

9、否想用,这个方法只有在哈希值一样的时候才会用到。实现代码:需求:存储自定义对象,比如Person,同姓名和同年龄视为同一个人,是相同元素。hashSeths=newhashSet();Hs..add(newPerson("lisi1",20));Hs..add(newPerson("zhangsan",20));Hs..add(newPerson("wangwu",20));Hs..add(newP

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

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

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