集合1
List集合
特点:
有索引
可以存储重复元素
元素存取有序
遍历方式:
普通for循环
增强for循环
迭代器方式特有方法:
void add(int index,E element) 在此集合中的指定位置插入指定的元素
E remove(int index) 删除指定索引处的元素,返回被删除的元素
E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
E get(int index) 返回指定索引处的元素
List集合的实现类:ArrayList集合
底层是数组结构实现,查询快、增删慢遍历方式:
普通for循环
增强for循环
迭代器
List集合的实现类:LinkedList集合
底层是链表结构实现,查询慢、增删快遍历方式(同ArrayList):
普通for循环
增强for循环
迭代器特有的方法:
public void addFirst(E e) 在该列表开头插入指定的元素
public void addLast(E e) 将指定的元素追加到此列表的末尾
public E getFirst() 返回此列表中的第一个元素
public E getLast() 返回此列表中的最后一个元素
public E removeFirst() 从此列表中删除并返回第一个元素
public E removeLast() 从此列表中删除并返回最后一个元素
Set
特点:
没有索引
不能存储重复元素
元素存取无序遍历方式:
只能通过迭代器或增强 for循环遍历
Set集合的实现类:HashSet集合特点
没有索引
不能存储重复元素
元素存取无序
底层数据结构是哈希表遍历方式:
增强for循环
迭代器HashSet 集合保证元素唯一性的原理分析
1.根据对象的哈希值计算存储位置如果当前位置没有元素则直接存入如果当前位置有元素存在,则进入第二步
2.当前元素的元素和已经存在的元素比较哈希值如果哈希值不同,则将当前元素进行存储如果哈希值相同,则进入第三步
3.通过equals()方法比较两个元素的内容如果内容不相同,则将当前元素进行存储如果内容相同,则不存储当前元素
Set集合的实现类:LinkedHashSet集合
特点
由链表保证元素有序,也就是说元素的存储和取出顺序是一致的
由哈希表保证元素唯一,也就是说没有重复的元素
哈希表和链表实现的Set接口,具有可预测的迭代次序遍历方式:
增强for循环
迭代器
Set集合的实现类:TreeSet集合
1.元素有序,可以按照一定的规则进行排序。
当存储内容为基本数据类型时,可直接输出;
当存储内容为对象时,需要再进行额外的操作。具体排序方式取决于构造方法TreeSet():根据其元素的自然排序进行排序TreeSet(Comparator comparator) :根据指定的比较器进行排序
2.没有带索引的方法,所以不能使用普通for循环遍历
3.由于是Set集合,所以不包含重复元素的集合遍历方式:
增强for循环
迭代器
更多推荐
集合1
发布评论