在java.util包中定义的类集框架其核心的组成接口有如下:
·Collection接口:负责保存单值的最大父接口
|-List子接口:允许保存重复元素,数据的保存顺序就是数据的增加顺序;
|-Set子接口:不允许保存重复元素,并且内部的元素可以进行调整

·Map接口:提供key与value的匹配信息
·输出接口: Iterator、ListIterator、Enumeration
结论:所有的集合保存数据的目的都是为了输出
·Collection 保存数据的目的纯粹只是为了输出,所以最关注的就是增加数据和输出数据的操作
·Map 保存数据的目的是为了根据key查找value,是为了查找准备的


package com.wzy.list;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector; class A {
A(String name,int id){
this.name = name;
this.id = id;
} String name;
int id;
@Override
public boolean equals(Object obj) {
return (this.name.equals(((A)obj).name))&&(this.id==((A)obj).id);
}
@Override
public String toString() {
return name+" : "+id;
}
} public class Test {
public static void main(String[] args) { /* Vector比ArrayList老,现在基本上都用ArrayList
* 两者用法类似
* ArrayList(90%) vs Vector(10%)
* 推出时间:jdk1.2 jdk1.0
* 性能: 异步,性能高 同步,性能低
* 安全性: 不 安全 安全<synchronized>
* 输出: Iterator, Iterator,
* ListIterator, ListIterator,
* forEach forEach
* Enumeration
*
* ArrayList vs LinkedList
* 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
* */
List<A> list = new ArrayList<A>();
// List<A> v = new Vector<A>();
// List<A> l = new LinkedList<A>(); list.add(new A("a",));
list.add(new A("b",));
list.add(new A("c",));
list.add(new A("d",)); System.out.println(list.size());
//想移除对象,必须重写equals方法;如果移除字符串可以直接移除,不用重写equals
list.remove(new A("b",));
System.out.println(list.size()); list.forEach(System.out::println); }
}

ArrayList,Vector,LinkedList的更多相关文章

  1. paip.提升性能---list,arraylist,vector,linkedlist,map的选用..

    paip.提升性能---list,arraylist,vector,linkedlist,map的选用.. arraylist,vector基本一样,但是,vector线程安全的. 作者Attilax ...

  2. ArrayList Vector LinkedList(一)

    ArrayList Vector LinkedList 区别与用法 ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素, ...

  3. 请说出ArrayList,Vector, LinkedList的存储性能和特性

    请说出ArrayList,Vector, LinkedList的存储性能和特性 解答:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都 ...

  4. ArrayList Vector LinkedList 区别与用法

    转载自: http://www.cnblogs.com/mgod/archive/2007/08/05/844011.html 最近用到了,所以依然是转载 ArrayList 和Vector是采用数组 ...

  5. Arraylist Vector Linkedlist区别和用法 (转)

    ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢 ...

  6. java集合(ArrayList,Vector,LinkedList,HashSet,TreeSet的功能详解)

    说起集合,我们会潜意识里想到另外一个与之相近的名词——数组,OK!两者确实有相似之处,但也正是这点才是我们应该注意的地方,下面简单列出了两者的区别(具体功能的不同学习这篇文章后就会明白了): 数组 长 ...

  7. Java ArrayList Vector LinkedList Stack Hashtable等的差别与用法(转)

    ArrayList 和Vector是采取数组体式格式存储数据,此数组元素数大于实际存储的数据以便增长和插入元素,都容许直接序号索引元素,然则插入数据要设计到数组元素移动等内存操纵,所以索引数据快插入数 ...

  8. 【转】ARRAYLIST VECTOR LINKEDLIST 区别与用法

    转自:http://www.cnblogs.com/mgod/archive/2007/08/05/844011.html ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实 ...

  9. 迭代器遍历列表 构造方法 constructor ArrayList Vector LinkedList Array List 时间复杂度

    package priceton; import java.io.IOException; import java.util.concurrent.CyclicBarrier; import java ...

随机推荐

  1. Newtonsoft.Json异常处理

    var resultStr="{\"Success\":false,\"Data\":1}"; GetRequestPriceRendaIn ...

  2. thinkphp验证码

    thinkphp自带验证码 前端页面: <div style="position:absolute;z-index:3;top:160px;left:180px;"> ...

  3. 配置Java SSL 访问网站证书

    最近在开发 Java 访问 Azure ServiceBus 时遇到SSL证书问题,导致JAVA报错,不能正常访问,报错信息如下: javax.net.ssl.SSLException: Connec ...

  4. Xdebug文档(四)函数跟踪

    Xdebug能让你把所有函数调用,包括参数和返回值以不同的格式记录到文件中. 这些号称“函数跟踪”功能能帮助你面对一个新应用程序,亦或者在程序运行时你想弄清楚它在做什么.函数跟踪功能可以选择性地显示函 ...

  5. MVC中实现Area几种方法

    概述        ASP.NET MVC中,是依靠某些文件夹以及类的固定命名规则去组织model实体层,views视图层和控制层的.如果是大规模的应用程序,经常会由不同功能的模块组成,而每个功能模块 ...

  6. 使用 Sticky-Kit 实现基于 jQuery 的元素固定效果

    元素固定效果在网页中应用得很多,比较常见的使用场景有改进导航,显示广告.Sticky-Kit 是一个非常方便的 jQuery 插件,简化了创建/管理粘元素,有复杂的使用功能.这些功能包括:处理多个固定 ...

  7. 关于图片的PNG与JPG、JIF格式

    一:GIF(Graphics Interchange Format) 简介 GIF图形交换格式是一种位图图形文件格式,以8位色(即256种颜色)重现真彩色的图像. 它实际上是一种压缩文档,采用LZW压 ...

  8. FusionCharts的使用方法(超详细)

    今天统计价格变化规律的时候找到的一个很好的文档,很详细 一.简介 Ø FusionCharts 是InfoSoft Global 公司的一个产品,InfoSoft Global 公司是专业的Flash ...

  9. 【转】Linux 初始化 init 系统 [sysvinit systemd upstart]

    http://www.ibm.com/developerworks/cn/views/linux/libraryview.jsp?sort_by=&show_abstract=true& ...

  10. HotApp小程序统计之自定义事件统计

    什么是自定义事件统计     官网:https://weixin.hotapp.cn/document 自定事件,就是自定统计任意事件的执行,灵活度最高. 用上图的云笔记说明想知道如下信息 (1)多少 ...