Collection接口是集合的老祖宗,定义了接口的基本方法。

List是Collection接口的子接口,也是最常用的接口,此接口对Collection接口进行了大量的扩展,List集合里的元素是可以重复的。

List接口的主要实现类有ArrayList,和LinkedList。

在数据量不大的情况下,这两个类性能差别不大,

一般情况下,集合里的元素很少变化的,一般用ArrayList,

假如集合里元素经常变动,要用LinkedList;底层实现有差别的。

package com.xuyigang1234.chp06.sec01;import java.util.ArrayList;public class TestArrayList {// 打印列表元素public static void printArrayList(ArrayList<String> arrayList) {System.out.println("列表元素是:");for(int i=0;i<arrayList.size();i++) {System.out.print(arrayList.get(i)+" ");}}public static void main(String[] args) {ArrayList<String> arrayList = new ArrayList<String>();arrayList.add("Java1");arrayList.add("Java2");arrayList.add("Java3");arrayList.add("Java4");arrayList.add(1, "小张三");printArrayList(arrayList);}}

输出:
列表元素是:
Java1 小张三 Java2 Java3 Java4 

package com.xuyigang1234.chp06.sec01;import java.util.LinkedList;public class TestLinkedList {private static void pringLinkedList(LinkedList<String> linkedList){System.out.println("当前元素的集合:");for(int i=0;i<linkedList.size();i++){System.out.print(linkedList.get(i)+" ");}System.out.println();}public static void main(String[] args) {LinkedList<String> linkedList=new LinkedList<String>();linkedList.add("张三");linkedList.add("李四");linkedList.add("王五");linkedList.add("李四");linkedList.add("赵六");pringLinkedList(linkedList);// indexOf 寻找位置System.out.println(linkedList.indexOf("李四"));pringLinkedList(linkedList);// peekFirst 获取第一个元素
            System.out.println(linkedList.peekFirst());pringLinkedList(linkedList);// peekLast 获取最后一个元素
            System.out.println(linkedList.peekLast());pringLinkedList(linkedList);// pollFirst 摘取第一个元素
            System.out.println(linkedList.pollFirst());pringLinkedList(linkedList);// pollLast 榨取最后一个元素
            System.out.println(linkedList.pollLast());pringLinkedList(linkedList);}}

当前元素的集合:
张三 李四 王五 李四 赵六
1
当前元素的集合:
张三 李四 王五 李四 赵六
张三
当前元素的集合:
张三 李四 王五 李四 赵六
赵六
当前元素的集合:
张三 李四 王五 李四 赵六
张三
当前元素的集合:
李四 王五 李四 赵六
赵六
当前元素的集合:
李四 王五 李四 

转载于:https://www.cnblogs.com/xyg-zyx/p/10007300.html

Java 集合——List集合相关推荐

  1. 由浅入深理解java集合(二)——集合 Set

    2019独角兽企业重金招聘Python工程师标准>>> 一.HashSet类 HashSet是Set接口的典型实现,实现了Set接口中的所有方法,并没有添加额外的方法,大多数时候使用 ...

  2. java去重复的集合_如何去除Java中List集合中的重复数据

    1.循环list中的所有元素然后删除重复 public class duplicatRemoval { public static List removeDuplicate(List list){ f ...

  3. Java中Set集合是如何实现添加元素保证不重复的?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「武培轩」 Java中Set集合是如何实 ...

  4. Java的ArrayList集合_JAVA之ArrayList集合

    /** * ArrayList集合讲解 * 集合的添加.遍历.删除 */ package com.test; import java.util.*; public class test7 { /** ...

  5. java的collection集合

    # 原创,转载请先留言 1.集合的由来 数组的长度是固定的,当需要增加或减少元素时需要对数组重新定义,太麻烦了.java内部给我们提供了集合类,能存储任意对象,长度可以改变的,随着元素的增加而增加,随 ...

  6. 【Java 集合】Java 集合的线程安全性 ( 加锁同步 | java.utils 集合 | 集合属性 | java.util.concurrent 集合 | CopyOnWrite 机制 )

    文章目录 I . Java 集合的线程安全概念 ( 加锁同步 ) II . 线程不安全集合 ( 没有并发需求 推荐使用 ) III . 集合属性说明 IV . 早期的线程安全集合 ( 不推荐使用 ) ...

  7. java面向对象编程集合边框_java 面向对象编程-- 第15章 集合框架

    1.  集合特点:元素类型不同.集合长度可变.空间不固定 2.  java中对一些数据结构和算法进行了封装即集合.集合也是一种对象,用于存储.检索.操作和传输对象. 3.  JCF(Java Coll ...

  8. Thinking in java基础之集合框架

    Thinking in java基础之集合框架 大家都知道我的习惯,先上图说话. 集合简介(容器) 把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合,例如这里有20个苹果,我们把每一个苹果当成 ...

  9. (Java)ArrayList集合

    ArrayList集合概述和基本使用 ArrayList是可以动态增长和缩减的索引序列,它是基于数组实现的List类. 数组的长度不可以发生改变,但是ArrayList的长度是可以随时变化的 对于Ar ...

  10. Java的数组集合概括

    Java的数组集合概括 Collection 1.List(存储有序,有索引,可以重复) 1.1.ArrayList 底层是数组实现的,线程不安全,查找和修改快,增删比较慢 1.2.LinkedLis ...

最新文章

  1. mybatis与mysql的优点_mybatis和hibernate比较_区别_优缺点
  2. 6.1 C/S 架构介绍
  3. 解析 WordPress 插件机制
  4. Spring 源码分析之AbstractApplicationContext源码分析
  5. SpringMVC 数据的格式化、JSR 303数据校验和国际化
  6. 为什么光标停在表格中间_word里面为什么打出来的数字中间为啥差一个光标的距离 - 卡饭网...
  7. flatMap()与concatMap()与concatMapEager()– RxJava常见问题解答
  8. 【渝粤教育】国家开放大学2018年秋季 1167t环境水利学 参考试题
  9. 【Linux】gcc + gdb 安装教程
  10. Oracle Ravello的学习资料
  11. android 百度地图无法显示,Android Studio中使用百度地图API,不显示地图的问题解决办法...
  12. 如何使用wink框架_如何使用Wink安排您的灯光
  13. mov格式如何转换成mp4?详细步骤教程
  14. idea文件名颜色的区别
  15. 脚本之家电子书下载:https://www.jb51.net/books/
  16. codeforces 268E Playlist(数学期望)
  17. TP5 控制器命名大小写问题
  18. 2019百度地图离线地图制作
  19. 默认网关、DNS、DHCP
  20. 揭密百度工程师文化:用数字说话 竞速创意落实

热门文章

  1. 非线性回归模型java_R中的非线性多元回归
  2. mysql 数据表 时间自动_MySQL数据库时间设置自动添加时间和自动更新时间
  3. eclipse java调用c 代码吗_linux下通过eclipse开发用java调用c程序的方法
  4. python控制手机发短信_python-在python3中使用容联云通讯发送短信验证码
  5. linux高性能网络编程,Linux高性能网络编程的介绍
  6. mongodb在mysql中怎么用,mongoDB数据库基本操作
  7. android fragment activity 交互,Android基础之Fragment与Activity交互详解
  8. OpenCV中的霍夫线变换、概率霍夫线变换
  9. opencv学习笔记(二)
  10. C++:构造函数作用及用法