集合Collection ----List集合
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集合的更多相关文章
- 集合Collection ----Set集合
set系列集合:添加的元素是 无序,不重复,无索引的 ----HashSet: 无序,不重复,无索引 ------LinkHashSet<>:有序不重复无索引(添加顺序) ----Tree ...
- Guava库介绍之集合(Collection)相关的API
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...
- 集合Collection
/* * 集合的由来: * 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储. * 而要想存储多个对象,就不能是一个基本 ...
- 【再探backbone 02】集合-Collection
前言 昨天我们一起学习了backbone的model,我个人对backbone的熟悉程度提高了,但是也发现一个严重的问题!!! 我平时压根没有用到model这块的东西,事实上我只用到了view,所以昨 ...
- 5、数组和集合--Collection、Map
一.数组:同一个类型数据的集合,其实他也是一个容器 1.数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些数据 2.数组的定义: 在Java中常见: 格式1: 类型 [] 数组名 = ne ...
- java集合——Collection接口
Collection是Set,List接口的父类接口,用于存储集合类型的数据. 2.方法 int size():返回集合的长度 void clear():清除集合里的所有元素,将集合长度变为0 Ite ...
- WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据
数据集(DataSet).数据表(DataTable).集合(Collection)概念是.NET FrameWork里提供数据类型,在应用程序编程过程中会经常使用其来作为数据的载体,属于ADO.NE ...
- 在含有null值的复杂类的集合(Collection)中取最大值
在日常编程中,经常遇到要在一组复杂类的集合(Collection)中做比较.取最大值或最小值. 举个最简单的例子,我们要在一个如下结构的集合中选取包含最大值的元素: public class Clas ...
- 集合Collection总览
前言 声明,本文使用的是JDK1.8 从今天开始正式去学习Java基础中最重要的东西--->集合 无论在开发中,在面试中这个知识点都是非常非常重要的,因此,我在此花费的时间也是很多,得参阅挺多的 ...
随机推荐
- 工作中后端是如何将API提供出去的?swaggo很不错
工作中后端是如何将API提供出去的?swaggo很不错 咱们上一次简单分享了 GO 权限管理之 Casbin ,他一般指根据系统设置的安全规则或者安全策略 分享了权限管理是什么 Casbin 是什么 ...
- Markdown插入LaTex数学公式
本文转载自Nautilus_sailing的试试LaTeX插入数学公式,内容有所改动 今天写了一篇随笔,其中需要写几个数学式子,但是我又不想直接将公式做成图片后插入,我觉得很不美观还麻烦.但是我也不会 ...
- POI解析excel,将批量数据写入文件或数据库
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- 痞子衡嵌入式:在IAR开发环境下将关键函数重定向到RAM中执行的三种方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将关键函数重定向到RAM中执行的三种方法. 嵌入式项目里应用程序代码正常是放在 Flash 中执行的,但有时候也需要将 ...
- myvimrc
set nocompatible execute pathogen#infect() call pathogen#helptags() call pathogen#incubate() imap jk ...
- 你认为的.NET数据库连接池,真的是全部吗?
一般我们的项目中会使用1到2个数据库连接配置,同程艺龙的数据库连接配置被收拢到统一的配置中心,由DBA统一配置和维护,业务方通过某个字符串配置拿到的是Connection对象. DBA能在对业务方无侵 ...
- PTA 朋友圈 (25 分) 代码详解 (并查集)
1.题目要求: 某学校有N个学生,形成M个俱乐部.每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈.一个学生可以同时属于若干个不同的俱乐部.根据"我的朋友的朋友也是我的朋友" ...
- spring security整体流程
spring-security原理 图片中各个类的作用: 1JwtUser类:实现Springsecurity的UserDetails类,此类必须有三个属性 private String userna ...
- filebeat+ELK配置及常用操作
背景介绍 最近工作涉及几台新服务器的日志需要接入ELK系统,配置思路如下: 使用Filebeat收集本地日志数据,Filebeat监视日志目录或特定的日志文件,再发送到消息队列到kafka,然后log ...
- 关于phpmyadmin getshell
思考一个问题:如何在获得一个PHP MySQL 搭建网站的phpmyadmin界面后(无论用什么办法,进到phpmyadmin里),进行一个getshell的操作? ...... 0x01山重水复 当 ...