集合框架

  Interable

collection

list

链表:内存中储蓄不连续,方便删除和添加。

二叉树用于排序查找

list可以有重复元素

list添加和打印的顺序一致

常用的方法:

add在尾部添加元素

add   index在指定位置添加元素

element 把一个元素换成另外一个

clear清除所有的元素

remove 移除此列表中指定位置上的元素。

contains判断元素是否在list中

lastindexof倒着找

Arraylist(用数组存储,是连续的)

ArrayList的构造方法:

ArrayList()
          构造一个初始容量为 10 的空列表。
ArrayList(Collection<? extends E> c)
          构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
方法:

首先四种添加方法要两两区分:

add(E e)
          将指定的元素添加到此列表的尾部。

add(int index, E element)
          将指定的元素插入此列表中的指定位置。

addAll(Collection<? extends E> c)
          按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。

addAll(int index, Collection<? extends E> c)
          从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。

get(int index)
          返回此列表中指定位置上的元素。

set(int index, E element)
          用指定的元素替代此列表中指定位置上的元素。

size() (遍历数组的时候用size获取长度)
          返回此列表中的元素数。

频繁的查找用Arraylist

优点:遍历元素和随机访问元素的效率比较高
添加和删除需要大量移动元素效率低,按照内容查询效率低

remove(Object o) (也可以用index移除指定未知的元素)
          移除此列表中首次出现的指定元素(如果存在)。

linkedlist(用链表存储,不连续)

优点:插入、删除元素时效率比较高
缺点:遍历和随机访问元素效率低下

常用方法:

addFirst(E e)
          将指定元素插入此列表的开头。

addLast(E e)
          将指定元素添加到此列表的结尾。

element()
          获取但不移除此列表的头(第一个元素)。

hashset

底层是数组和链表

添加,查询,删除快。

 相同的字符串肯定具有相同的hashcode

修改set 元素的唯一 方法就是重写equals方法

如果重写了equals方法,必须重写hashcode方法

HashSet()
          构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75。

TreeSet:

用二叉树存储(二叉树可以搜索排序)

treeset用compareto去重

先序遍历:先左,在中,在右

二叉树相等用compareto,因为二叉树比较的是大小。

有迭代器方法或接口的可以用增强for循环。

for(类型   变量名   集合){

syso(变量名);

}

map映射

HashTable不允许空键空值

HashMap允许空键空值

一个key对应一个value

TreeMap的key必须实现comporate根据key排序

properties是配置文件。

泛型:解决数据类型操作不统一产生的异常

在类上定义的泛型可以给成员方法,成员属性,和static用。


©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页