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. Window2016 安装Docker

    测试环境 Windows2016 DataCenter 安装步骤 1.开始运行"PowerShell" 2.指定Tls协议为1.2.(建议都先执行这一条命令,官方文档没有这一步,实 ...

  2. VScode安装配置

    一.安装VScode 进入VScode官网Visual Studio Code下载 安装 二.设置中文 打开vscode 重启vscode 三.美化 四.安装拓展插件 Auto Close Tag ( ...

  3. setsockopt中参数之SO_REUSEADDR的意义

    1.setsockopt中参数之SO_REUSEADDR的意义 1.一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用. SO_REUSE ...

  4. 零基础学Java之Java学习笔记(三):变量和数据类型

    为什么需要变量? 变量是一个程序的基本组成单位. 变量的概念: 变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房 间,而通过变量名可以访问到变量(值 ...

  5. Set重写hashCode和equals方法实现引用对象去重

    运作原理: 首先判断hashCode是否相同,如果不同,直接判定为两个不同的对象.如果hashCode相同,再去比较equals是否一样,如果一样,则为同一个对象.如果不一样,则是两个不同对象. 那么 ...

  6. NOIP 模拟 $14\; \text{影魔}$

    题解 \(by\;\;zj\varphi\) 不是原题 一道(对我来说)很需要技巧的题 对于颜色数如何处理 离线,将子树转化为 \(dfs\) 序,但这种做法无法处理深度 我们按照深度加点(可以通过 ...

  7. 公司新来了一个质量工程师,说团队要保证 0 error,0 warning

    摘要:静态代码检查又称为静态程序分析,是指在不运行计算机程序的条件下,进行程序分析的方法. 本文分享自华为云社区<公司新来了一个质量工程师,说团队要保证 0 error,0 warning> ...

  8. 谷歌浏览器崩溃、电脑版微信,vscode打不开网页

    家里的电脑使用64位win7,谷歌浏览器直接打开页面都会提示页面崩溃,电脑版微信打开页面链接为空白,vscode打开发行说明或插件说明显示空白,这一系列的问题好像都跟浏览器器有关,之前找了很多文章,都 ...

  9. js简单实现拦截访问指定网页

    最近闲的无事,写个脚本玩玩,实现拦截访问指定网址 浏览器插件 要想实现这个功能,就要自定义一个浏览器插件 最简单的浏览器插件有两个文件,分别是manifest.json和**.js.首先新建一个文件夹 ...

  10. Clusternet - 新一代开源多集群管理与应用治理项目

    作者 徐迪,腾讯云容器技术专家. 汝英哲,腾讯云高级产品经理. 摘要 在过去的数年里,云计算领域经历了多次巨大的变革,当前越来越多的组织将应用部署在本地和云上的多个基础设施平台上,这些平台可能是两个公 ...