Java学习之List接口
Posted 天遮不住我的眼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习之List接口相关的知识,希望对你有一定的参考价值。
List接口
List接口的定义如下:
public interface List<E>extends Collection<E>
可以发现List接口时Collection接口的子类,List接口大量的扩充了Collection接口的操作,List接口里的内容是允许重复的。
List接口常用方法
一句话概括这些方法的功能:就是为了实现增删减查的功能。
有如下的方法:
void add(int index,E element) //在列表的指定位置插入指定元素(可选操作)。将当前处于该位置的元素(如果有的话)和所有后续元素向右移动(在其索引中加 1)。 boolean addAll(int index, Collection<? extends E> c) //将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。 E get(int index) //返回列表中指定位置的元素。 int indexOf(Object o) //返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1 E set(int index,E element) //用指定元素替换列表中指定位置的元素(可选操作)。 boolean remove(Object o) //从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。如果列表不包含元素,则不更改列表。
当然除了以上这些,还有其他的方法。
List接口的子类—ArrayList(常用)
ArrayList的定义如下:
public class ArrayList<E>extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, Serializable
ArrayList是List接口的子类,那么如果想使用List接口,就必须通过对象的多态性来实例化List接口。下面通过实例了解ArrayList。
实例一:指定位置添加数据
import java.util.ArrayList; import java.util.List; public class ArrayListTest { public static void main(String[] args) { List<String> lists=new ArrayList<String>(); lists.add("Hello"); //加入内容 lists.add(0,"world"); System.out.println(lists); } }
运行结果如下:
[world, Hello]
实例二:指定位置添加内容
import java.util.ArrayList; import java.util.List; public class ArrayListTest { public static void main(String[] args) { List<String> lists=new ArrayList<String>(); List<String> lists1=new ArrayList<String>(); lists.add("Hello"); lists.add("world"); System.out.println(lists); lists1.add("This"); lists1.add("is"); lists.addAll(0,lists1); //在指定位置添加一组内容 System.out.println(lists); } }
运行结果如下:
[Hello, world]
[This, is, Hello, world]
实例三:删除内容(可以使用两种方式)
import java.util.ArrayList; import java.util.List; public class ArrayListTest { public static void main(String[] args) { List<String> lists=new ArrayList<String>(); lists.add("输出:"); lists.add("Hello"); lists.add("world"); System.out.println(lists); lists.remove(0); //通过编号删除内容 System.out.println(lists); lists.remove("Hello"); //通过内容来删除内容 System.out.println(lists); } }
运行结果如下:
[输出:, Hello, world]
[Hello, world]
[world]
通过以上程序我们发现内容前后都有‘[]‘,还存在‘,‘,那么如何去除他们呢?
实例四:依次输出内容
import java.util.ArrayList; import java.util.List; public class ArrayListTest { public static void main(String[] args) { List<String> lists=new ArrayList<String>(); lists.add("输出:"); lists.add("Hello"); lists.add("world"); for(int i=0;i<lists.size();i++){ //size()方法取得集合中内容的个数 System.out.println(lists.get(i)); //get()方法取得其中的内容 } } }
运行结果如下:
输出:
Hello
world
此输出方式(根据所有取出内容)是List接口独有的,其他接口时没有的。这也是为什么List接口里的内容可以重复的原因。
实例四
import java.util.ArrayList; import java.util.List; public class ArrayListTest { public static void main(String[] args) { List<String> lists=new ArrayList<String>(); System.out.println("判断集合是否为空:"+lists.isEmpty()); lists.add("输出:"); lists.add("Hello"); lists.add("world"); System.out.println("Hello所在位置是:"+lists.indexOf("Hello")); System.out.println("是否存在world:"+lists.contains("world")); } }
输出结果如下:
判断集合是否为空:true Hello所在位置是:1 是否存在world:true
总结:
List中允许重复元素
以上是关于Java学习之List接口的主要内容,如果未能解决你的问题,请参考以下文章