1)::HashSet-------(内部为HashCode表数据结构)---(保证数据唯一,但不保证数据有序)

          不对数据进行排序,只是通过hashCode和equal对数据进行相同判定,如果相同就不存进去,输出时也不保证输出顺序.

2)::LinkedHashSet----(内部为二叉树数据结构)----(保证数据唯一,还保证数据有序)

             加入Linked一个词后,输出不再是无序的了,此时会按照先进先出的数序读取数据.

3)::ArrayList-------(内部为数组型数据结构--数据查询快)-------(不保证数据唯一,数据可以重复,并且数据有序,即先进先出进行数据读取)

          在判断元素相同时,使用的是元素的equals方法,在存储自定义数据时,需要对Object的equals方法进行复写,而不需要对HashCode进行复写,

          并且在使用remove删除元素时,也仅仅通过equals判断元素中是否有相同的元素,哪怕是删除一个新的对象元素,但是这个新的元素内容通过equals方法判断后                               发现现有元素中也也相同内容的元素,此时虽然2个元素的地址不同,但equals认为其为相同,也会将现有的元素删除. 而HsahSet在判断元素是否相同时,需要同时                             对Object的和equal进行复写.

4)::LinkedList-------(内部为链表数据结构---数据增删块)-------(不保证数据唯一,数据可以重复,并且数据有序,即先进先出进行数据读取)

--------------------------------------------------------------------------------------------------------------------------------------------------------------

[注]:

a.当元素自身已实现的Java.lang中的cmparable接口中compareTo方法时,以上集合必须强制根据compareTo方法对这些元素进行排序.

b.或者,在自定方法通过实现Comparator接口中的compare方法,并将该方法在构造集合初始化时将其传入集合,此后该集合将在存储元素时,强制使用该自定义排序方法对存入的元素进行比较排序.

HashSet和LinkedHashSet特点.的更多相关文章

  1. HashSet、LinkedHashSet、TreeSet

    以下内容基于jdk1.7.0_79源码: 关于HashSet.LinkedHashSet.TreeSet Set接口的实现类,最大特点是不允许出现重复元素: HashSet:基于HashMap实现,一 ...

  2. Java HashSet和LinkedHashSet的用法

    Java HashSet和LinkedHashSet的用法 类HashSet和LinkedHashSet都是接口Set的实现,两者都不能保存重复的数据.主要区别是HashSet不保证集合中元素的顺序, ...

  3. 规则集之探究何时使用HashSet、LinkedHashSet以及TreeSet?

    前言 Java集合框架三种主要类型的集合:规则集(Set).线性表(List).队列(Queue).Set用来存储不可重复的元素:List用来存储有元素构成的有序的集合:而Queue则用于存储用先进先 ...

  4. Java集合框架(二)—— HashSet、LinkedHashSet、TreeSet和EnumSet

    Set接口 前面已经简绍过Set集合,它类似于一个罐子,一旦把对象'丢进'Set集合,集合里多个对象之间没有明显的顺序.Set集合与Collection基本上完全一样,它没有提供任何额外的方法. Se ...

  5. 一、集合框架(关于ArrayList,LinkedList,HashSet,LinkedHashSet,TreeSet)

    一.ArrayList 解决了数组的局限性,最常见的容器类,ArrayList容器的容量capacity会随着对象的增加,自动增长.不会出现数组边界的问题. package collection;   ...

  6. 09 Collection,Iterator,List,listIterator,Vector,ArrayList,LinkedList,泛型,增强for,可变参数,HashSet,LinkedHashSet,TreeSet

    09 Collection,Iterator,List,listIterator,Vector,ArrayList,LinkedList,泛型,增强for,可变参数,HashSet,LinkedHas ...

  7. 复习java基础第三天(集合:Collection、Set、HashSet、LinkedHashSet、TreeSet)

    一.Collection常用的方法: Java 集合可分为 Set.List 和 Map 三种体系: Set:无序.不可重复的集合. List:有序,可重复的集合. Map:具有映射关系的集合. Co ...

  8. Set集合[HashSet,TreeSet,LinkedHashSet],Map集合[HashMap,HashTable,TreeMap]

    ------------ Set ------------------- 有序: 根据添加元素顺序判定, 如果输出的结果和添加元素顺序是一样 无序: 根据添加元素顺序判定,如果输出的结果和添加元素的顺 ...

  9. Java集合系列(三):HashSet、LinkedHashSet、TreeSet的使用方法及区别

    本篇博客主要讲解Set接口的三个实现类HashSet.LinkedHashSet.TreeSet的使用方法以及三者之间的区别. 注意:本文中代码使用的JDK版本为1.8.0_191 1. HashSe ...

  10. Java中的集合HashSet、LinkedHashSet、TreeSet和EnumSet(二)

    Set接口 前面已经简绍过Set集合,它类似于一个罐子,一旦把对象'丢进'Set集合,集合里多个对象之间没有明显的顺序.Set集合于Collection基本上完全一样,它没有提供任何额外的方法. Se ...

随机推荐

  1. 数据剪切命令cut和数据粘贴命令pastte

    在Windows中,经常从一个文件将一段文本移动到另一个文件中.在Linux中执行这个任务的是cut和paste命令. 一.数据剪切命令cut 命令格式: cut [option] [file] 常用 ...

  2. oracle建索引的可选项

    oracle中建索引可能大家都会,但是建索引是有几个选项参数却很少有人关注,在某些特殊环境下,可能会非常有用,下面一一说明: 1.NOSORT,记录排序可选项. 默认情况下,在表中创建索引的时候,会对 ...

  3. ORB:新一代 Linux 应用

    Orbital Apps 给我们带来了一种新的软件包类型 ORB,它具有便携软件.交互式安装向导支持,以及离线使用的能力. 便携软件很方便.主要是因为它们能够无需任何管理员权限直接运行,也能够带着所有 ...

  4. Preventing CSRF in Java web apps---reference

    reference from:http://ricardozuasti.com/2012/preventing-csrf-in-java-web-apps/ Cross-site request fo ...

  5. 将字符转换为unicode码

    将字符转换为unicode码: /** * unicode转义字符 * @param ch * @param out */ public static void unicodeEscape(int c ...

  6. [WinForm] VS2010发布、打包安装程序(超全超详细)

    1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1.“应 ...

  7. Java快速入门

    Java 是什么? Java 的特点: 面向对象 平台无关(跨平台): 简单 安全 体系结构 - 中性 可移植 健壮 多线程 解释型 高性能 分布式 动态 Java环境设置: Java SE可免费提供 ...

  8. leetcode 题解:Remove Duplicates from Sorted Array II(已排序数组去三次及以上重复元素)

    题目: Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For ex ...

  9. 基本API-StdIn.java

    /************************************************************************* * Compilation: javac StdI ...

  10. 剑指Offer16 判断子树

    /************************************************************************* > File Name: 17_Mirror ...