Java集合笔记

一、采用接口和实现分离的设计方法

同一个数据结构的具体实现可以不同,但是对外必须提供统一的接口。

二、集合接口和迭代器接口

Collection:

(1)超接口Iterable<E>

Iterator:

(1)编译器将for each循环翻译为带有迭代器的循环(for each循坏可以与实现Iterable接口的对象工作)

(2)可以认为java的迭代器位于两个元素之间,代用next()方法会越过一个元素并返回越过元素的引用

(3)remove()方法会删除之前调用next()时返回的元素(不调next直接调remove会抛出异常)

三、集合框架

collection

         List(有序、可重复)

                   ArrayList(多个线程共同访问时可使用Vector)

                   LinkedList(可使用ListIterator遍历)

         Set(无序、不可重复)

                   TreeSet(会对数据进行排序)

                   HashSet

         Queue

map

                  HashMap

                  TreeMap


tips:有序是指存储的顺序和访问的顺序相同

散列表(哈希表) == HashSet

(1)保证自定义对象的equals()方法和hashCode()方法兼容啊a.equals(b)为true则a和b的hashCode相等

(2)存储结构:一个数组,每个位置后面挂着一个链表,hashCoed相同时挂到链表上(就是数据结结构上解决哈希表冲突的方法之一)

(3)再散列:根据装填因子决定何时进行再散列(default=0.75)

树 == TreeSet

(1)对其中的数据进行排序,排序方法可实现Comparable接口进行自定义或通过Comparator给出


映射表(存储键值对)

(1)Set<K>keySet()获取键的集合

(2)Collection<K> values()

(3)Set<Map.entry<K,V> >entrySet()

(4)IdentityHashMap()使用==好来比较作为键的对象

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这周的学习还是比较认真的。 以下是目前收集整理的一些笔记, 还有Map接口没学, 下次再补。 (word文档复制过...
    _秋裤阅读 1,033评论 0 0
  • 认识Collection接口 Collection接口是单值保存的最大父类接口。Collection中的常用方法如...
    渔樵店阅读 496评论 0 2
  • 上一篇文章介绍了Set集合的通用知识。Set集合中包含了三个比较重要的实现类:HashSet、TreeSet和En...
    Ruheng阅读 16,225评论 3 57
  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 1,237评论 0 4
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,965评论 18 399

友情链接更多精彩内容