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

  • 相关阅读:
    Ambari部署问题 no schema has been selected to create in … error 解决方案
    redis命令效率分析
    linux测试上下行最大网速和实时网速
    springcloud之Zuul网关服务
    springcloud之Hystrix实现容错处理
    springcloud之Feign实现声明式REST调用
    springcloud之Ribbon负载均衡
    论meta name= viewport content= width=device-width initial-scale=1 minimum-scale=1 maximum-scale=1的作用
    for循环,绑定点击事件,二维数组列表渲染
    WebApp 里Meta标签大全,webappmeta标签大全
  • 原文地址:https://www.cnblogs.com/mlgm/p/6684588.html
Copyright © 2011-2022 走看看