zoukankan      html  css  js  c++  java
  • 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>迭代器。

  • 相关阅读:
    一种JavaScript的设计模式
    ADO.Net之使用DataRead Or DataSet
    求助:彻夜难眠的问题
    ASP.NET的全球化配置
    ADO.NET和.NET框架中的数据管理[转]
    javascript实现datagrid客户端checkbox列的全选,反选
    下载文件出现提示框或者直接显示在浏览器中
    Visual Studio .NET已检测到指定的Web服务器运行的不是ASP.NET 1.1 版..(转)
    网站优化的十大奇招妙技
    关键字加亮JS方法
  • 原文地址:https://www.cnblogs.com/mlgm/p/6684588.html
Copyright © 2011-2022 走看看