Collection集合体系的特点:

  set系列集合:添加的元素是 无序,不重复,无索引的

  ----HashSet: 无序,不重复,无索引

  ----LinkedHashSet: 有序,不重复,无索引

  List系列集合:添加的元素是 有序,可重复,有索引的

  ----LinkedList: 有序,可重复,有索引的

  ----ArrayList : 有序,可重复,有索引

    ----Vector:

Arraylist:存储是数组结构,元素增删慢,查找快,线程不安全,效率高

- `public void add(int index, E element)`: 将指定的元素,添加到该集合中的指定位置上。 (在索引前面插入)
- `public E get(int index)`:返回集合中指定位置的元素。
- `public E remove(int index)`: 移除列表中指定位置的元素, 返回的是被移除的元素。
- `public E set(int index, E element)`:用指定元素替换集合中指定位置的元素,返回值的更新前的元素。

import java.util.ArrayList;
import java.util.List; public class ListDemo1 {
public static void main(String[] args) {
List<String> lists=new ArrayList<>();//Arraylist几乎没有增加功能,所以用多态
lists.add("sfdsfd");
lists.add("zyl" );
lists.add("yuyu");
lists.add("huwof");
System.out.println(lists);// [sfdsfd, zyl, yuyu, huwof]
lists.add(1,"yyyy");
System.out.println(lists);// [sfdsfd, yyyy, zyl, yuyu, huwof]
System.out.println(lists.get(2));// zyl
System.out.println(lists.remove(3));// yuyu
System.out.println(lists);// [sfdsfd, yyyy, zyl, huwof]
lists.set(0,"ppppp");
System.out.println(lists);// [ppppp, yyyy, zyl, huwof] }
}

LinkedList:存储的结构是链表结构(双向链表),方便元素添加、删除,线程不安全,效率高

- `public void addFirst(E e)`:将指定元素插入此列表的开头。
- `public void addLast(E e)`:将指定元素添加到此列表的结尾。
- `public E getFirst()`:返回此列表的第一个元素。
- `public E getLast()`:返回此列表的最后一个元素。
- `public E removeFirst()`:移除并返回此列表的第一个元素。
- `public E removeLast()`:移除并返回此列表的最后一个元素。
- `public E pop()`:从此列表所表示的堆栈处弹出一个元素。
- `public void push(E e)`:将元素推入此列表所表示的堆栈。
- `public boolean isEmpty()`:如果列表不包含元素,则返回true。

import java.util.LinkedList;

public class LinkedListDemo1 {
public static void main(String[] args) {
LinkedList<String> stack = new LinkedList<>();
stack.addFirst("aaaa");
stack.addFirst("bbbb");
stack.addFirst("cccc");
System.out.println(stack); //[cccc, bbbb, aaaa]
stack.add("dddd");
System.out.println(stack); //[cccc, bbbb, aaaa, dddd]
System.out.println(stack.remove("bbbb")); //true
System.out.println(stack.getFirst()); //cccc LinkedList<String> stack1 = new LinkedList<>();
stack1.push("111"); //stack.push() --> stack.getFirst()
stack1.push("222");
stack1.push("333");
System.out.println(stack1); // [333, 222, 111]
System.out.println(stack1.pop()); //333 stack.pop() -->stack.removeFirst()
System.out.println(stack1); // [222, 111] }
}

Vector:底层是数组,查询快,增添慢,线程安全,效率低

Vector的特有功能:
        1、添加功能:
            void addElement(Object obj) 将指定的组件添加到此向量的末尾,将其大小增加1。
        2、获取功能:
            Object elementAt(int index) 返回指定索引处的元素  --get()
            Enumeration elements() 返回此向量的组件的容器。--list.iterator()
                boolean hasMoreElements() 测试此容器是否包含更多元素。 --hasNext()
                E nextElement() 如果此容器对象至少有一个要提供的元素,则返回此容器的下一个元素。 --next()

import java.util.Enumeration;
import java.util.Vector; public class VectorDemo1 {
public static void main(String[] args) {
Vector v=new Vector();
v.addElement(1111);
v.addElement(2222);
v.addElement(3333);
System.out.println(v); // [1111, 2222, 3333]
System.out.println(v.elementAt(1)); // 2222 Enumeration e = v.elements();
while (e.hasMoreElements()){
System.out.println(e.nextElement()); //1111
//2222
//3333
}
}
}

集合Collection ----List集合的更多相关文章

  1. 集合Collection ----Set集合

    set系列集合:添加的元素是 无序,不重复,无索引的 ----HashSet: 无序,不重复,无索引 ------LinkHashSet<>:有序不重复无索引(添加顺序) ----Tree ...

  2. Guava库介绍之集合(Collection)相关的API

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...

  3. 集合Collection

    /* * 集合的由来: * 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储. * 而要想存储多个对象,就不能是一个基本 ...

  4. 【再探backbone 02】集合-Collection

    前言 昨天我们一起学习了backbone的model,我个人对backbone的熟悉程度提高了,但是也发现一个严重的问题!!! 我平时压根没有用到model这块的东西,事实上我只用到了view,所以昨 ...

  5. 5、数组和集合--Collection、Map

    一.数组:同一个类型数据的集合,其实他也是一个容器 1.数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些数据 2.数组的定义: 在Java中常见: 格式1:  类型 [] 数组名 = ne ...

  6. java集合——Collection接口

    Collection是Set,List接口的父类接口,用于存储集合类型的数据. 2.方法 int size():返回集合的长度 void clear():清除集合里的所有元素,将集合长度变为0 Ite ...

  7. WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据

    数据集(DataSet).数据表(DataTable).集合(Collection)概念是.NET FrameWork里提供数据类型,在应用程序编程过程中会经常使用其来作为数据的载体,属于ADO.NE ...

  8. 在含有null值的复杂类的集合(Collection)中取最大值

    在日常编程中,经常遇到要在一组复杂类的集合(Collection)中做比较.取最大值或最小值. 举个最简单的例子,我们要在一个如下结构的集合中选取包含最大值的元素: public class Clas ...

  9. 集合Collection总览

    前言 声明,本文使用的是JDK1.8 从今天开始正式去学习Java基础中最重要的东西--->集合 无论在开发中,在面试中这个知识点都是非常非常重要的,因此,我在此花费的时间也是很多,得参阅挺多的 ...

随机推荐

  1. 易语言效率与C++究竟差多少(质数和计算)

    文本首发bIlibili,cnblogs为作者补发,如在其他平台看见本文,均为经允许的盗窃 易语言作为款主打 中文 易用 编程的开发软件.但是很多人都在批评易语言的效率. 我们今天通过 质数和计算 来 ...

  2. Seaborn基础画图实例

    使用seaborn画图时,经常不知道该该用什么函数.忘记函数的参数还有就是画出来的图单调不好看. 所以,本人对seaborn的一些常用的画图函数,并结合实例写成了代码,方便以后查询和记忆. 若代码或注 ...

  3. JS实现自定义工具类,隔行换色、复选框全选、隔行高亮等

    很多功能都可以放在js的工具类中,在使用的时候直接调用 本次实现的功能包括: /** 0.当点击表的整行的任意位置时,第一列的复选框或者单选框均选中  1.隔行换色 2.复选框的全选效果 3.实现表格 ...

  4. Java调用Zookeeper

    watch机制 Zookeeper watch是一种监听通知机制,可以随时监听一些数据的变化,从而实现数据的及时性. Zookeeper所有的读操作getData(), getChildren()和 ...

  5. 【原创】Dubbo 2.7.8多个远程代码执行漏洞

    马上年底了,发现年初定的几个漏洞的KPI还没来得及完成,趁着最近有空赶紧突击一波,之前业务部门被爆过Dubbo的漏洞,干脆就把Dubbo拖过来挖一把.之前没用过Dubbo,既然要挖它就先大体了解了一下 ...

  6. Java入门姿势【面向对象3】构造方法及其重载_方法的调用

    上次我为大家写出啦"定义类与创建对象_了解局部变量",上篇文章代码可能较多,如没有了解透彻的话请打开下方文章在进行观看一下哦!! [Java入门姿势[面向对象2]定义类与创建对象_ ...

  7. ansible 常用模块总结

    记录常用的模块功能,详细使用查看官网. 1. file模块 创建软连接 ansible test -m file -a "src=/tmp/conf.d dest=/tmp/conf.d s ...

  8. input text 只能输入数字 js 正则表达式

    $("#txt1").keyup(function () { $(this).val($(this).val().replace(/[^0-9.]/g, '')); }).bind ...

  9. 学ant(2)——path

    1.path是ant内置的一种datatype,作用是声明路径之类的东西,在官方的manual中也叫做Path-like Structures,一般是这样声明的 <pathelement loc ...

  10. mzy git学习,删除文件(三)

    删除一个文件(工作区删除,并且在本地版本库中也删除) 第一种方式: rm test.txt 先删除工作区的test.txt git add test.txt (我的理解是,将删除test.txt这个动 ...