java List集合
List集合包括四种类,分别是ArrayList、LinkedList、Vector、Stack。
ArrayList:元素的存储是顺序存储,可以根据数组的下标查询,查询速度快,但是在删除和插入元素时将慢,需要移动大量的元素。
- public void Test1()
- {
- ArrayList arrayList=new ArrayList<>();
- long startTime= System.currentTimeMillis();
- arrayList.add(2);
- arrayList.add(3);
- arrayList.add("water");
- arrayList.add("driver");
- arrayList.add(999);
- arrayList.add("angel");
- arrayList.remove(0);
- arrayList.remove(4);
- for (Object item : arrayList) {
- System.out.println(item);
- }
- long endTime=System.currentTimeMillis();
- System.out.println("运行时间为:"+(endTime-startTime)+"ms");
- }
上述例子中我试着读出其运行时间进行比较,实在太快了。
LinkedList:元素在其中存储是随机存储,首先说明LinkedList是一个双向链表,通过pre,element,next,每个元素都是由这3部分组成,它的优点在于删除,插入时只需要断开和连接删除位置的指针即可,不需要大量的移动元素。
- public void Test2()
- {
- LinkedList linkedList=new LinkedList<>();
- linkedList.add(888);
- linkedList.add(999);
- linkedList.add("blue");
- linkedList.add("sky");
- linkedList.add("waiter");
- linkedList.add("grass");
- linkedList.add(1314);
- linkedList.remove(1);
- linkedList.remove(4);
- for (Object item : linkedList) {
- System.out.println(item);
- }
- }
在这中间加一点迭代器的一些知识,既然是集合就会存在迭代的问题
- public static void main(String[] args)
- {
- Collection c=new Vector<>();
- for(int i=0;i<10;i++)
- {
- c.add(i);
- }
- Iterator it=c.iterator();
- while(it.hasNext())
- {
- System.out.println(it.next());
- }
- }
在一个集合中,使用了iterator()方法,就返回了一个迭代器类型,hasNext()表示迭代器中是否还有元素,next()表示迭代器中的下一个元素。
当然上介绍的ArrayList和LinkedList集合类在多线程中都是不安全的,下面引入安全类Vector类:
- public static void main(String[] args)
- {
- Collection c=new Vector<>();
- for(int i=0;i<10;i++)
- {
- c.add(i);
- }
- Iterator it=c.iterator();
- while(it.hasNext())
- {
- System.out.println(it.next());
- }
- }
java List集合的更多相关文章
- 【Java】集合_学习笔记
一.集合 1.集合类也称容器类,主要负责保存.盛装其他数据. 2.集合可以保存数量不确定的数据,保存具有映射关系的数据(也称关联数组). 3.Java5后提供一些多线程安全的集合类,放在java.ut ...
- java的集合框架最全详解
java的集合框架最全详解(图) 前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作 ...
- 谈谈Java的集合组件
让我们一起谈谈Java的集合组件 我们在使用Java的时候,都会遇到并使用到Java的集合.在这里通过自己的理解和网上的资源对Java的集合方面的使用做一个简单的讲解和总结. Java主要分为3个集合 ...
- java.util 集合框架集合
java的集合框架为程序提供了一种处理对象组的标准方式.设计了一系列标准泛型接口: ⑴Collection ()接口,扩展了Iterable接口,位于集合层次结构的顶部,因此所有的集合都实现Colle ...
- Java基础——集合框架
Java的集合框架是Java中很重要的一环,Java平台提供了一个全新的集合框架.“集合框架”主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型.Java平台的完整集合框架如下图所示: 上 ...
- Java学习-集合(转)
在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList. ...
- java的集合框架之一
java是一套很成熟的东西,很多商用的东西都喜欢用它,用的人多,稳定.不过一般也不怎么说起它,因为太常见了,私下里说,写java应用层得就像农民工,每一处都是搭积木,根据设计师的东西如何优雅地搭好积木 ...
- 浅谈Java的集合框架
浅谈Java的集合框架 一. 初识集合 重所周知,Java有四大集合框架群,Set.List.Queue和Map.四种集合的关注点不同,Set 关注事物的唯一性,List 关注事物的索引列表,Q ...
- Java之集合初探(一)
一.集合概述.区别 集合是一种容器,数组也是一种容器 在Java编程中,装各种各样的对象(引用类型)的叫做容器. 为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的 ...
- Java面向对象 集合(下)
Java面向对象 集合(下) 知识概要: (1)Map集合的体系结构 (2)Map集合的方法 (3)HashMap TreeMap (4)集合框架中的常用工具类 ( ...
随机推荐
- vue-cli(vue脚手架)
vue-cli用于自动生成vue+webpack项目. 安装webpack:npm install webpack -g 检查webpack是否安装成功和版本:webpack -v 如果是webpac ...
- 深度学习+CRF解决NER问题
参考https://github.com/shiyybua/NER 1.开发环境:python3.5+tensorflow1.5+pycharm 2.从https://github.com/shiyy ...
- How to gitignore
git rm -r --cached . git add . git commit -m "remove gitignore cache" git push
- 学习 Spring (三) Bean 的配置项 & 作用域
Spring入门篇 学习笔记 配置项 Id: 整个 IoC 容器中的唯一标识 Class: 具体实例化的类(必须配置项) Scope: 作用域 Constructor arguments: 构造器参数 ...
- Nginx 优先选择连接最少的上游服务器
详见陶辉87课 upstream test { server ; server ; least_conn ; zone backends 64k; }
- 使用Golang打造自己的http服务器 1.0版本
package main import ( "io/ioutil" "net/http" "os" ) func main() { args ...
- mysql-tar包搭建过程
第一: wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz tar z ...
- 第四十九天 mysql 索引 元类
一 昨日回顾 视图 触发器 事务 什么是事务 逻辑上的一组操作 要么都成功 要么都失败 如何使用 start transaction 开启事务 mysql 默认一条sql就是一个事务 pymysql默 ...
- P1035 调和级数
两种解法如下: 1.模拟 这种做法的思路是枚举n从1开始,直到Sn>k结束,只需要一个循环即可实现. 代码: #include<cstdio> int main() { ; scan ...
- SQL Server查询优化器的工作原理
SQL Server的查询优化器是一个基于成本的优化器.它为一个给定的查询分析出很多的候选的查询计划,并且估算每个候选计划的成本,从而选择一个成本最低的计划进行执行.实际上,因为查询优化器不可能对每一 ...