★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. python 最小二乘拟合,反卷积,卡方检验

    import numpy as np # from enthought.mayavi import mlab ''' ogrid[-1:5:6j,-1:5:6j] [array([[-1. ], [ ...

  2. 平行四边形 css实现

    首先将 display 设置为  inline-block 或block: 在应用skew(): transform:skewX(-45deg); 但是也会导致平行四边形内的文字倾斜如下 我们可以给文 ...

  3. Fedora的一些个人配置

    0,老传统 yum install screenfetch 1,关闭蜂鸣器 edit /etc/bashrc setterm -blength 0#setterm -bfreq 10 #这个可以设置声 ...

  4. Android开发 ---如何操作资源目录中的资源文件5 ---Raw资源管理与国际化

    效果图: 1.activity_main.xml 描述: 定义两个按钮,一个是Raw资源管理,一个是处理国际化语言,其中i18n表示简体中文 <?xml version="1.0&qu ...

  5. freemarker中的null异常处理以及!与??的使用(转)

    原文链接: https://blog.csdn.net/mexican_jacky/article/details/50638062 阅读数:6304 如工程包含: 在user中我们有个角色,那么我们 ...

  6. sptring boot 修改默认Banner

    一.自定义banner 启动Spring Boot项目时,在控制台或日志中会默认显示一个Banner,如图所示: 在我们的项目中更希望使用自己的Banner,这样看起来更帅写,但是这对于程序员来说并不 ...

  7. poj3080(kmp+枚举)

    Blue Jeans Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 20163   Accepted: 8948 Descr ...

  8. it网站

    1:http://www.importnew.com/    importnew  专注于java的论坛 2:Github是最活跃的开源代码库和版本控制平台,可以说是程序员当中知名度最高的技术社区.各 ...

  9. Python 基础字典的增删改查

    # 字典相关的代码## 1.字典的特性:a 字典的无序性: b 数据关联性强 C 键键值对 唯一一个映射数据类型# 字典的键必修二是可哈希的(不可变的数据类型:,字符串,数字的,布尔值,元祖)# 并且 ...

  10. 【转】Delphi XE10 Android Splash设备自适应和沉浸式状态条

    再次提笔写博客,已经相隔7年,原来的CSDN账号需要手机验证,而我的手机又捆绑到这个账号了,就用新账号吧,不想折腾了. 原账号的帖子,有研究DICOM3.0的可以看下:http://blog.csdn ...