ArrayList,HashSet,SortedSet之间的区别是什么?
今天看Redis官方案例,出现了列表和集合概念,列表在Java中指的就是List,集合在Java中指的就是Set,那么怎么实现列表和集合,以及它们有什么区别呢?
我写了个Demo演示下:
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
public class ListDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
//对比:Set是结合,List是列表
//HashSet里面的值是是不可重复的,ArrayList里面的值可以重复
//HashSet和ArrayList的数据都是无序的
//TreeSet继承SortedSet,它是有序的。
Set<String> set=new HashSet<String>();
set.add("444");
set.add("222");
set.add("aaa");
set.add("111");
set.add("333");
set.add("bbb");
for(String str:set) {
System.out.println(str);
}
System.out.println("------分割线------");
SortedSet<String> sortedSet=new TreeSet<String>();
sortedSet.add("444");
sortedSet.add("222");
sortedSet.add("aaa");
sortedSet.add("111");
sortedSet.add("333");
sortedSet.add("bbb");
for(String str:sortedSet) {
System.out.println(str);
}
System.out.println("------分割线------");
List<String> list=new ArrayList<String>();
list.add("444");
list.add("222");
list.add("aaa");
list.add("111");
list.add("333");
list.add("bbb");
for(String str:list) {
System.out.println(str);
}
}
}
得出的结果如下所示:
aaa bbb ------分割线------ aaa
bbb
------分割线------ aaa bbb
可以验证我的注释:
HashSet里面的值是是不可重复的,ArrayList里面的值可以重复
HashSet和ArrayList的数据都是无序的
TreeSet继承SortedSet,它是有序的。
是正确的。
最后为了更好的理解,找了一张结构图供亲们参考:
ArrayList,HashSet,SortedSet之间的区别是什么?的更多相关文章
- List、Set、Map 之间的区别是什么?(未完成)
List.Set.Map 之间的区别是什么?(未完成)
- ArrayList,Vector,HashMap,HashSet,HashTable之间的区别与联系
在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList. ...
- LinkedList,ArrayList,Vector,HashMap,HashSet,HashTable之间的区别与联系
在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList. ...
- 毫不留情地揭开 ArrayList 和 LinkedList 之间的神秘面纱
先看再点赞,给自己一点思考的时间,思考过后请毫不犹豫微信搜索[沉默王二],关注这个靠才华苟且的程序员.本文 GitHub github.com/itwanger 已收录,里面还有技术大佬整理的面试题, ...
- ArrayList和List之间的转换
开发中不免碰到List与数组类型之间的相互转换,举一个简单的例子: package test.test1; import java.util.ArrayList; import java.util.L ...
- 集合之ArrayList,HashSet,HashMap
结合框架的体系结构: 一.List(列表) 1. List的特点 (1)List是元素有序并且可以重复的集合,称为序列 (2)List可以精确的控制每个元素的插入位置,或删除某个位置的元素 (3)Li ...
- ArrayList和Array之间的转换
ArrayList转Array (1):使用ArrayList的toArray方法. 1)当ArrayList中存放的是引用类型时(例如String),成功 /** * 使用 ...
- sqlserver版本分类下载以及各个版本之间的区别是什么
很多用visual studio做开发的朋友经常会用到sqlserver数据库,但是往往在选择的时候就不知道该使用哪个版本了,今天亦是美网络就给大家分享一下sqlserver各个版本之间的区别,以及各 ...
- 集合篇-----ArrayList与LinkedList之间的那些小事
各自特性: ArrayList : 是一由连续的内存块组成的数组,范围大小可变的,当不够时增加为原来1.5倍大小,数组. :调用trimToSize方法,使得存储区域的大小调整为当前元素数量所需要的 ...
随机推荐
- box-sizing: border-box
如果在元素上设置了 box-sizing: border-box; 则 padding(内边距) 和 border(边框) 也包含在 width 和 height 中
- S07
push 和 append 的表现不同, push 一次只添加单个参数到列表末端, append 一次可以添加多个参数. use v6; my @d = ( [ 1 .. 3 ] ); @d.push ...
- Machine-learning-DecisionTree
前言 决策树是一种自上而下,对样本数据进行树形分类的过程,由结点和有向边组成.结点分为内部结点和叶结点,其中每个内部结点表示一个特征或属性,叶节点表示类别.从顶部根节点开始,所有样本聚在一起,经过根节 ...
- GRE阅读
界面和托福差不多,就是反一反 GRE先读文章!因为出题顺序不一致.另外,不能跳读!!每一句都要读,即使不是观点. 考察能力: 1 三秒版本 边读边概括 解决前面的抗遗忘能力 2 句间关系 取同 取反 ...
- 使用python抓取美团商家信息
抓取美团商家信息 import requests from bs4 import BeautifulSoup import json url = 'http://bj.meituan.com/' ur ...
- C++走向远洋——29(长方柱类)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:长方柱类.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- 无线城域网 WMAN
无线城域网 WMAN (Wireless Metropolitan Area Network) 1.1.概述 2002 年 4 月通过了 802.16 无线城域网的标准.欧洲的 ETSI 也制订类似的 ...
- java基础进阶篇(二)_Arraylist ------【java源码栈】
前言 ArrayList 在开发中用到的频率很高,其中原生态提供的方法有一些很好用的重载版本,其中有的坑该跳得跳啊. 一.ArrayList的6种初始化方法1.构造方法 参数为空2.构造方法 参数为L ...
- Harbor镜像漏洞扫描
Harbor镜像漏洞扫描 闲聊:我们知道 镜像安全也是容器化建设中一个很重要的环节,像一些商业软件如:Aqua就很专业但是收费也是很昂贵的,今天我们介绍下Harbor自带的镜像扫描器. 一.安装最新版 ...
- python复制多层目录下的文件至其他盘符对应的目录中
一.需求 app打包需要打入一些H5进去,以便更快的加载页面.这些H5文件是散落在各个文件夹中的[如下列所示],偶尔各个文件夹还需新增文件,每次新增一个文件,需要改动jenkins上job脚本,比较麻 ...