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>迭代器。

  • 相关阅读:
    ArcGIS Pro 简明教程(2)基础操作和简单制图
    ArcGIS Pro 简明教程(1)Pro简介
    ArcGIS Pro 简明教程(3)数据编辑
    LocaSpaceViewer深度讲解(一)瓦片服务与数据下载
    迭代最近点算法 Iterative Closest Points
    应用Fast ICP进行点集或曲面配准 算法解析
    八叉树-OcTree
    2016年10月校招体会
    静态代码块&非静态代码块&构造函数
    avtivity与view
  • 原文地址:https://www.cnblogs.com/mlgm/p/6684588.html
Copyright © 2011-2022 走看看