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. 常用的Windows快捷键

    常用的Windows快捷键 关闭触摸板(华硕电脑):Fn+F9 切换窗口:Alt + Tab任务视图:Win + Tab松开键盘界面不会消失 创建新的虚拟桌面:Win + Ctrl + D(新开一个干 ...

  2. Java代码搭建Dubbo+ZooKeeper 的示例

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  3. 删除EFI系统分区(ESP)后Windows无法启动,重建引导分区并修复启动的过程

    @ 目录 一.开机故障描述 二.工具: 三.什么是EFI系统分区 四.如何查看EFI系统分区 五.删除后如何重建系统分区 1.建立未分配空间 2.建立ESP分区 3.按下图,ESP分区的大小200M即 ...

  4. Python中用max()筛选出列表中出现次数最多的元素

    1 List = [1,2,3,4,2,3,2] # 随意创建一个只有数字的列表 2 maxTimes = max(List,key=List.count) # maxTimes指列表中出现次数最多的 ...

  5. prism 的学习网站

    C#的学习网址: https://www.cnblogs.com/zh7791

  6. IIS 站点一键导入 导出

    C:\Windows\System32\inetsrv\appcmd list site /config /xml > c:\sites.xml C:\Windows\System32\inet ...

  7. 【springcloud】服务熔断与降级(Hystrix)

    转自:https://blog.csdn.net/pengjunlee/article/details/86688858 服务熔断 服务熔断的作用类似于我们家用的保险丝,当某服务出现不可用或响应超时的 ...

  8. spring生命周期的应用

    1.ApplicationContextAware 实现手工加载bean: 例:https://www.cnblogs.com/wala-wo/p/5119192.html https://www.c ...

  9. 深入浅出Mybatis系列(三)---配置简介(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(二)---Mybatis入门>写了一个Demo简单体现了一下Mybatis的流程.本次,将简单介绍一下Mybatis的配置文件: 上次例子中,我们以  ...

  10. udphdr结构

    udphdr结构包含在/usr/src/linux/include/linux/udp.h 1 struct udphdr { 2 __u16 source; 3 __u16 dest; 4 __u1 ...