Collection集合
Collection集合:
存储的都是value,位于java.util包。
List: (有序、元素允许重复)
ArrayList:
ArrayList是我们开发中非常常用的数据存储容器之一,其底层是利用(动态)数组形式实现的,JDK1.5,可以在集合中存储任意类型的数据。ArrayList是线程不安全 的,非常适合用于对元素进行查找,效率非常高。默认1.5倍扩容。
常用方法:add(E e) remove(index) set(index value) get(index) size()
ArrayList优缺点:
优点:1.因为其底层是动态数组形式实现,所以修改和查询效率高。
2.可自动扩容(1.5倍)。
缺点:1.插入和删除效率不高。
2.线程不安全。
Vector类:
是ArrayList集合的早期版本,JDK1.0,底层也是利用动态数组形式存储的。Vector是线程同步的(synchronized),安全性高,效率低,其默认的扩容是2倍,可 以通过构造方法创建时修改这一机制。
LinkedList:
LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的,是线程不安全的,允许元素为null的双向链表。LinkedList适合 用于插入或删除,不适合遍历轮询。
常用方法:add() remove() set() get() size()
LinkedList的优缺点:
优点:1.不需要扩容和预留空间,空间效率高。
2.增删效率高。
缺点:1.随机访问时间效率低。
2.改查效率低。
set: (无序,元素不可重复)
无序:添加的顺序与获取的顺序不一致(不是集合本身是否有序,Tree自然有序)。
无重复:添加的元素不能一致(如果出现重复元素,只存第一个,不再存入其他的)。
常用方法: add(E e) remove(E e) iterator迭代器(增强for) size()
HashSet(HashMap--->数据存储结构,散列表):
HashSet无重复原则有两个方法同时起作用equals()和hashCode(),默认比较的是两个对象的地址,若第二个对象地址与之前的一致,不再存入;如果想要改变 其比较的规则,可以重写上述的两个方法。
TreeSet(TreeMap--->数据存储结构,二叉树):
TreeSet无重复原则有一个方法起作用compareTo(),上述的这个方法不是每一个对象都有的,若想要将某一个对象存入TreeSet集合中,需要让对象所属的类实现 接口Comparable,实现接口后将comparTo()方法重写,返回值int,负数靠前排列,整数靠后排列。
原文地址:https://www.cnblogs.com/huangcc/p/11436204.html
- WCF技术剖析之十一:异步操作在WCF中的应用(上篇)
- Bootstrap Metronic 学习记录(一)简介
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(49)-工作流设计-我的申请
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(47)-工作流设计-补充
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(46)-工作流设计-设计分支
- 瑞典研发未来概念车,车厢、底盘能分离,颠覆汽车使用方式
- WCF技术剖析之十一:异步操作在WCF中的应用(下篇)
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(45)-工作流设计-设计步骤
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(44)-工作流设计-设计表单
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(43)-工作流设计-字段分类设计
- 因为这个原因,你的工作即将被取代!
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(73)-微信公众平台开发-消息管理
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(72)-微信公众平台开发-消息处理
- 充斥着AI生成内容的世界,你能辨别虚拟与现实吗?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- shiro缓存机实例代码
- Linux deepin 删除多余内核的实现方法
- linux烧写、配置、搭建Edison环境
- 详解使用 split 命令分割 Linux 文件
- 在博客后台为内容模块实现增删改查功能
- 解决Debian系统自动更新软件包的问题的方法
- PHP 基于 Cookie + Session 实现用户认证功能
- 创建并运行一个新的 Laravel 项目
- linux nslookup命令使用详解
- Go 数据存储篇(五):建立数据库连接并进行增删改查操作
- Laravel 路由使用入门
- Go 数据存储篇(六):数据表之间的关联关系和关联查询
- 搭建nextcloud私有云存储网盘的教程详解
- Laravel 路由使用进阶
- 使用dig/nslookup命令查看dns解析的方法步骤