集合框架—常见的Set集合
| list | ArrayList | 动态数组结构存储,遍历速度快,索引随机访问快,允许多空值 | 
| LinkedList | 底层数据结构是链表,插入和删除速度快。 | |
| Vector | 数组结构存储,线程安全的,查找速度快,但增删效率低; | 
先把元素添加到 HashSet,再把集合转换为TreeSet 来进行有序遍历会更快。
treeSet.addAll(hashSet)
AraayList:动态数组,默认无参构造开辟10的长度的空间,当放入11个元素的时候会自动扩容,公式为oldcapacity * 3/2 +1,大概扩百分之50。Vactor扩容是2倍
,用字符串初始化就是字符长度+16,用append方法超过容量每次自动增长2倍。

扩容
倍加2,如果新的字符串长度加上原字符串的长度大于原来的数组长度的两倍加2则新数组的长度为新的字符串长度加上原字符串的长度。
List 接口提供了特殊的迭代器,称为 ListIterator,除了允许 Iterator 接口提供的正常操作外,该迭代器还允许元素插入和替换,以及双向访问。还提供了一个方法来获取从列表中指定位置开始的列表迭代器。
因为在class文件的规范中, CONSTANT_Utf8_info表中使用一个16位的无符号整数来记录字符串的长
个字节,而java class 文件是使用一种变体UTF-8格式来存放字符的,null值使用两个字节来表示,因此只剩
下 65536- 2 = 65534个字节。
集合框架—常见的Set集合的更多相关文章
- 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合
		不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ... 
- [黑马程序员] 集合框架2——Map系 & 集合工具类(Collections、Arrays)
		---------------------- ASP.Net+Android+IO开发..Net培训.期待与您交流! ---------------------- 0. 集合框架按其所实现的接口, 大 ... 
- 【JAVA集合框架一 】java集合框架官方介绍  Collections Framework Overview 集合框架总览 翻译 javase8 集合官方文档中文版
		原文链接: https://docs.oracle.com/javase/8/docs/technotes/guides/collections/overview.html 原文内容也一并附加在本文最 ... 
- [Java核心技术]第九章-集合(Java集合框架、具体的集合、映射)
		9.1Java集合框架 一些有的没的 可以使用接口类型存放集合的引用.一旦改变了想法,只需要在调用构造函数的地方做一处修改. add方法用于向集合添加元素,如果添加元素确实改变了集合就返回true. ... 
- java集合框架工具类Collections,集合的操作
		1 import java.util.*; public class asList { public static void main(String args[]) { // int arr[] = ... 
- JAVA基础--JAVA API集合框架(其他集合类,集合原理)15
		一.ArrayList介绍 1.ArrayList介绍 ArrayList它是List接口的真正的实现类.也是我们开发中真正需要使用集合容器对象. ArrayList类,它是List接口的实现.肯定拥 ... 
- JAVA基础--JAVA API集合框架(其他集合类,集合原理)
		一.ArrayList介绍 1.ArrayList介绍 ArrayList它是List接口的真正的实现类.也是我们开发中真正需要使用集合容器对象. ArrayList类,它是List接口的实现.肯定拥 ... 
- Java基础知识强化之集合框架笔记72:集合特点和数据结构总结
		1. 集合 (1)Collection(单列集合) List(有序,可重复): ArrayList:底层数据结构是数组,查询块,增删慢.线程不安全,效率 ... 
- Java基础知识强化之集合框架笔记30:集合之泛型的引入
		1. 泛型的引入: (1)首先我们看看下面这一段代码,如下: package cn.itcast_01; import java.util.ArrayList; import java.util.It ... 
随机推荐
- screen实战
			VPS侦探在刚接触Linux时最怕的就是SSH远程登录Linux VPS编译安装程序时(比如安装lnmp)网络突然断开,或者其他情况导致不得不与远程SSH服务器链接断开,远程执行的命令也被迫停止,只能 ... 
- Elasticsearch修改template的mapping并迁移
			找到原始模板并修改 找到要修改的原始索引对应的模板(最好当初创建时就设计好便于修改) #例如原来索引是my_es_index_v1,那么我们创建 一个别名,使用POST 方法 curl -XPOST ... 
- Web Uploader在低版本IE下无法显示Flash的一种情况
			用户反馈在IE 8下无法正常显示Web Uploader控件,并已安装了Flash插件.调试发现在内部抛出了Runtime Error的错误,关键代码如下: Runtime.create = func ... 
- Word插入htm文件导致文本域动态增加的一个问题
			受html标签影响,超链接也会被变成文本域(HYPERLINK).当遍历文本域进行替换之前如果预存了文本域的数量(Count/Length/etc.)将导致遗漏. 
- stopImmediatePropagation和stopPropagation (事件、防止侦听)
			参考: ActionScript 3.0 Step By Step系列(六):学对象事件模型,从点击按扭开始 actionscript宝典 一.事件模型 egret中的事件模型和flash是一样的,但 ... 
- jenkins Email-ext plugin插件中Pre-send Script设置说明
			在使用jenkins Email-ext plugin发送邮件时,项目中使用了SVN去同步,发现每次有同步,都会发送邮件,现只想SVN只更新,不发送邮件通知,这就要在Pre-send中做修改 看看官网 ... 
- lombok 转载
			http://www.blogjava.net/fancydeepin/archive/2012/07/12/lombok.html LomBok主要特性有:自动生成默认的getter/setter方 ... 
- 【转】bit、byte、位、字节、汉字的关系
			UTF-8和UTF-16的区别?Unicode和UTF是什么关系?Unicode转义字符(\u+4个十六进制).遇到多个引号的时候转义? 解释: unicode是一种编码方式,和ascii是同一个概念 ... 
- openstack 部署(Q版)-----glance镜像服务安装配置
			一.创建数据库 CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO '; GRANT ALL PRIVILEGES ON glanc ... 
- Django ---- 基础题
			一. 1.写出你所知道Djang有关的所有命令(下载.安装等) .安装django pip install django == .创建项目 diangoadmin startproject 项目名 ... 
