★List接口特点:

  1.元素存储有序的集合

  2.带索引的集合

  3.集合中可以有重复的元素

  4.常用的子类有ArrayList ,  LinkedList

★List接口的方法:add   , remove() , set(int index,Object e) , get()

  1.add:将元素插入到指定的索引上

//1将元素插入到指定的索引上
public static void fun1(){
List<String> s = new ArrayList<String>();
s.add("a");
s.add("a1");
s.add("a2");
System.out.println(s);
s.add(1,"asjkdk");
System.out.println(s);
}

  2.remove:将指定索引上的元素移除

// 2移除 指定索引上的元素  remove()     返回的是被删除的元素
public static void fun2(){
List<String> s = new ArrayList<String>();
s.add("a");
s.add("a1");
s.add("a2");
String se = s.remove(0);
//返回被删除的元素
System.out.println(se);
System.out.println(s);
}

  3.set(int index,Object e):修改指定索引上的元素

//3 修改指定索引上的元素  返回值是 被修改前的元素
public static void fun3(){
List<String> s = new ArrayList<String>();
s.add("a");
s.add("a1");
s.add("a2");
String s1 = s.set(0, "我aijava");
//返回被修改前的元素
System.out.println(s1+" s1");
System.out.println(s);
}

★LinkedList类

  特点:1. 底层采用的是链式结构  每次查询都是从头或者尾部开始查找  查询相对较慢

     2.特有的方法removeFirst,removeLast

  方法:

    1.addLast在集合后面添加,addFirst在集合前面添加

public static void fun1(){
LinkedList<String> link = new LinkedList<String>();
link.addLast("猪猪侠");
link.addLast("佩琪"); link.addFirst("乔治");
link.addFirst("小呆呆");
//迭代器
Iterator<String> it = link.iterator();
//判断是否有下一个元素
while(it.hasNext()){
String e = it.next();
System.out.println(e);
}

    2.getFirst(); 得到集合第一个元素,getLast();得到集合最后一个元素

// 2getFirst(); getLast();  先判断集合是否为空后  在进行循环或者获得操作
public static void fun2(){
LinkedList<String> link = new LinkedList<String>();
// link.add("李白");
// link.add("韩信");
// link.add("赵云");
// String first2 = link.getFirst();
// System.out.println(first2);
if(!link.isEmpty()) {//判断是否为空
String first = link.getFirst();
System.out.println(first);
} }

    3.removeFirst删除前面的元素,removeLast删除后面的元素

//3remove 删除功能
public static void fun3(){
LinkedList<String> link = new LinkedList<String>();
link.add("每当我听到雨声");
link.add("就像听到了心中的迷茫");
link.removeFirst();
System.out.println(link);
}

List接口的使用方法的更多相关文章

  1. C# 索引器,实现IEnumerable接口的GetEnumerator()方法

    当自定义类需要实现索引时,可以在类中实现索引器. 用Table作为例子,Table由多个Row组成,Row由多个Cell组成, 我们需要实现自定义的table[0],row[0] 索引器定义格式为 [ ...

  2. 通过实现System.IComparable接口的CompareTo方法对两个类进行比较

    假设现在有一个学生类 class Student { int age; public Student(int age) { this.age = age; } } 要使学生类之间能进行比较,实现Sys ...

  3. ICompare接口、Sort()方法

    1.接口中的方法并不实现具体功能,继承于该接口的类必须实现具体功能. 核心思想:对修改封闭,对扩展开放. 2.Sort()方法: 默认:Sort(内容) 英文:按照首字母顺序排序,首字母相同则看第二个 ...

  4. Java8新特性——接口的默认方法和类方法

    Java8新增了接口的默认方法和类方法: 以前,接口里的方法要求全部是抽象方法,java8以后允许在接口里定义默认方法和类方法: 不同的是: 默认方法可以通过实现接口的类实例化的对象来调用,而类方法只 ...

  5. Java接口中的方法

    接口中可以含有变量和方法.但是,接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量,用private修饰会报编译错误),而方法 ...

  6. 集合中list、ArrayList、LinkedList、Vector的区别、Collection接口的共性方法以及数据结构的总结

    List (链表|线性表) 特点: 接口,可存放重复元素,元素存取是有序的,允许在指定位置插入元素,并通过索引来访问元素 1.创建一个用指定可视行数初始化的新滚动列表.默认情况下,不允许进行多项选择. ...

  7. IEnumerable接口的Aggregate方法

    以前小猪为了累加一个集合中的类容通常会写出类似这样的C#代码: string result ="": foreach (var item in items) { result+=i ...

  8. C#类、接口、虚方法和抽象方法0322

    虚拟方法和抽象方法有什么区别与联系: 1.抽象方法只有声明没有实现代码,需要在子类中实现:虚拟方法有声明和实现代码,并且可以在子类中重写,也可以不重写使用父类的默认实现. 2.抽象类不能被实例化(不可 ...

  9. C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法

    使用C#实现加减乘除算法经常被用作新手练习.本篇来分别体验通过委托.接口.匿名方法.泛型委托来实现. 使用委托实现 加减乘除拥有相同的参数个数.类型和返回类型,首先想到了使用委托实现. //创建一个委 ...

  10. IEnumerable接口的扩展方法

    /// <summary>/// IEnumerable接口的扩展方法,支持它的实现类是List的情况/// </summary>using System.Collection ...

随机推荐

  1. MyBatis逆向工程:根据table生成Model、Mapper、Mapper.xml

    逆向工程工具 下载地址:https://download.csdn.net/download/zhutouaizhuwxd/10779140 1.工程导入Eclipse  2.运行MainUI.jav ...

  2. Integer与int的区别(转)

    如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null.但是如果面试官再问一下Integer i = 1; ...

  3. 怎样在Ubuntu 14.04中安装Java(转)

    想知道如何在Ubuntu 14.04中安装Java?安装Java肯定是安装Ubuntu 14.04后首先要做的几件事情之一(见http://www.linuxidc.com/Linux/2014-04 ...

  4. Ubuntu16.04 安装Teamviewer

    有时需要远程控制ubuntu系统的电脑,Teamviewer在linux下也可以进行安装,大致看了下向日葵在linux下配置好像比较麻烦,而且Teamviewer远程控制的流畅性一直不错,就选择安装T ...

  5. jetty调优

    jetty服务器使用遇到一下内存溢出的问题: java.lang.OutOfMemoryError: unable to create new native thread   无法创建新的进程 方法: ...

  6. 关于方法中的self参数和全局变

    先摆样例程序,自己想想执行结果是怎样的:如果注释掉global va后,执行的结果又会如何?同时注释掉global va和va = [value]+va两行呢? #a.py va = ['va1',' ...

  7. meson 中调用shell script

    meson 中有时需要调用其他脚本语言,加之对meson build system接口和原理不熟悉,无奈只有静心学习meson 官方文档,终于皇天不负有心人让我找到了: run_command() 只 ...

  8. Spring Boot 揭秘与实战(二) 数据缓存篇 - EhCache

    文章目录 1. EhCache 集成 2. 源代码 本文,讲解 Spring Boot 如何集成 EhCache,实现缓存. 在阅读「Spring Boot 揭秘与实战(二) 数据缓存篇 - 快速入门 ...

  9. Prepare paddle in Docker1

    Use Docker 1. Install Docker sudo apt-get install -y docker.io a) pull repository from server in Chi ...

  10. Java 面试题 —— java 源码

    1. 静态工厂方法 静态工厂方法不必在每次调用它们的时候都创建一个新的对象: Boolean.valueOf(boolean): public final class Boolean { public ...