java中单列集合的根接口是_java 单列集合总结

Collection 接口

add()

remove()

contains()

clear();

size();

迭代器遍历(普通迭代器,不能再遍历过程中修改集合的长度)

List接口 单列集合 有序可重复 有索引

add(index,obj)

remove(index)

get(index)

set(index,obj)

List的遍历

for循环

迭代器

使用集合步骤

创建集合对象

创建元素对象(引用数据类型(包含基本数据类型包装类对象))

调用集合方法,增删改查

使用迭代器遍历集合(ListIterator 列表迭代器,可以在遍历过程中修改集合长度)

hashNext查看是否有下一个元素

如果有:调用next方法获取

二个儿子 Vector(自行利用API文档学习)

线程不安全:高效

ArrayList:底层是数组结构,查询快,增删慢

LinkedList:底层链表结构,查询慢,增删快

到底改用谁?

查询多:ArrayList

增删多:LinkedList

如果你根本不知道改用谁,就用ArrayList

Set接口 单列集合 无序不可重复

元素唯一,无序(存储和读取的顺序可能不一致)

HashSet

如何保证元素唯一?底层数据结构是哈希表,依赖于元素的哈希值

最终:hashcode方法和equals方法

顺序:

先比较hashcode的返回值

相同:继续调用equals方法比较元素的内容

不相同:直接添加到集合

HashSet存储基本数据类型和String:因为基本数据额类型包装类以及String重写hashCode和equals方法

HashSet存储自定义类型:需要重写hashcode和equals方法

TreeSet

如何保证元素唯一?

根据compareTo方法的返回值是不是0

如何元素排序

1. 元素所在的类实现Comparable接口,重写compareTo方法

2. 集合具有比较性,创建TreeSet集合对象的时候调用有参构造方法,传入比较器对象(匿名内部类)

遍历集合:迭代器和增强for循环

LinkedHashSet

底层是哈希表和链表

保证元素唯一和元素有序

增强for循环!!!!

集合遍历

for(元素类型 变量名:集合名){

强转 Object转为子类对象 使用子类的特有成员!!!!!!

输出变量名就是集合中的每一个元素

}

你可能感兴趣的:(java中单列集合的根接口是)