- 操作collection的静态方法在工具类collections中
- Collection(I)
- List(有重复值)
- ArrayList(非同)
- 性质
- 动态数组
- 初始容量10,容量检查快溢出时扩容(若明确插入元素数量,最好指定初始容量值,避免扩容操作浪费时间效率)
- 随机访问
- 性质
- LinkedList
- 双向链表
- 无法随机访问,必须按双重链表执行
- 优点:增删
- vector(同步)
- 操作同arraylist
- stack
- 栈
- 方法
- push
- pop
- peek
- empty
- search
- ArrayList(非同)
- Set(无重)
- 性质
- 无序(输入顺序不一定等于输出顺序?)。但元素在set中位置由其hashcode决定,故具体位置确定
- 判断重复的标准
- hashcode
- equals方法
- HashSet(非同)
- 由hashmap实现(key存元素,value统一存一个Object对象)
- LinkedHashSet(非同)
- 由linkedhashmap实现
- LinkedHashSet在迭代访问Set中的全部元素时,性能比HashSet好,但是插入时性能稍微逊色于HashSet(由于entry不同,多了修改指针)。
- TreeSet(非同)
- 由Treemap实现
- 实现了sortedset接口
- 性质
- List(有重复值)
- Map(I)键值对
- abstractmap
- HashMap(非同)
- LinkedHashMap(非同 保留插入顺序,不保证映射顺序)
- 遍历方式:iterator
- TreeMap(非同)
- 性质
- 自然排序:其中所有key必须实现comparable接口,且为同一类的对象
- 定制排序:创建comparator对象,对象编辑排序,无需all key实现comparable接口
- 使用自定义类作为key,应重写equals方法
- key相同判断标准:equals返回true,compare to返回0
- 不允许key为null
- 性质
- HashMap(非同)
- hashtable(同步)
- 键值对任意一方都不可为null
- 继承自dictionary类
- 遍历方式:iterator Enumeration
- abstractmap
- Iterator(I)
- 性质
- 单项移动
- remove只能跟在next方法后面调用一次
- 操作
- hasNext
- next
- remove
- ListIterator(I)
- 只用于list类型访问
- 创建方法
- listiterator()指向开始
- listiterator(n)指向索引为n
- 方法
- add((第一句好像是叫隐形光标)隐形光标插在被插入数据之后,被插入的数据可用previous访问)
- hasnext hasprevious
- next previous
- set
- 性质
Java集合框架
最新推荐文章于 2024-09-24 10:50:41 发布