java学习之路--集合基础之List和Set部分

Posted 安然a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java学习之路--集合基础之List和Set部分相关的知识,希望对你有一定的参考价值。

List

一个接口,它继承于Collection的接口。它代表着有序的队列。里面的元素是有序的,可以重复,因为该集合的体系有索引。

List的实现类

ArrayList:底层数据结构为数组数据结构,特点:查询速度快,增删稍慢,线程不同步。基于数组实现List类。

LinkdList:底层数据结构为链表数据结构,特点:增删速度快,查询速度慢。线程不同步。实现List接口。

Vextor:底层数据结构为数组数据结构,出现在jdk早起版本,现在被ArrayList取代。

Set

  Set集合类似与一个面盆,元素是无序的,元素的值不能重复。继承了Collection接口。Set判断两个对象相等的不是使用“==“运算符,而是根据equals()方法,我们加入一个新的元素时,如果这两个元素对象和Set中已有的对象进行比较,equals比较都返回的是false,则Set就会接受这个新的元素对象。

Set的实现类

HashSet:底层数据结构为哈希表,具有良好的存取和查询性能,判断元素的存在及删除等操作,是主要依靠hashCode()和equals()两个方法来完成的,hashCode()方法来获取该对象的hashCode值,然后根据哈希值决定对象的存储位置,如果哈希值相等,才会调用equals()方法是否为真。

TreeSet:底层数据结构为二叉树,可以确保集合为排序状态。

TreeSet实现排序:

第一种排序方法为:让元素的自身具有比较性,元素需要实现Comparable接口,然后覆盖compareTo()方法。

第二种排序方法为:当元素自身不具备比较性时,或者具备的比较性不是所需要的,这时就需要让集合的自身具备比较的属性,定义一个类,实现comparator接口,覆盖compare方法。

Interator迭代器接口

  迭代器接口是Collection类的父接口,实现Iterable接口的对象允许使用foreach进行遍历,也就是说所有Collection集合对象都具有foreach可遍历性,这个Iterator接口只有一个方法:iterator(),它返回一个代表当前集合对象的泛型<t>迭代器。

以上是关于java学习之路--集合基础之List和Set部分的主要内容,如果未能解决你的问题,请参考以下文章

Java基础知识(JAVA集合框架之List与Set)

Python之路第三篇:Python基础——set集合

Java基础知识之集合

Java基础知识之什么是集合框架

我的学习之路_第七章_list集合,set集合

尚硅谷_Java零基础教程(集合Collection:list,set;map)-- 学习笔记