Java基础中的 list接口和常用方法

1.List接口继承了Collection接口,因此包含了Collection中的所有方法,但是因为list是列表类型,因此List接口还提供了一些适合自身的方法。

2.要使用List集合,通常情况下需要声明List类型,然后通过List接口的实现类来对集合进行实例化。List接口的实现类常用的有ArrayList与LikedList.

   ArrayList:

  该类实现了可变的数组,允许所有元素,包括null.可以通过索引位置对集合进行快速的随机访问。不足之处是:向指定的索引位置插入对    象或删除对象的速度较慢。

  语法:List<String> list=new ArrayList<String>();   <String>可以是其他的类型

   LikedList:

   该类采用链表结构保存对象。这种结构的优点是:便于向集合中插入和删除对象,经常需要向集合插入和删除对象时,使用LikedList类实现的List集合的效率较好;但是对于随      机访问集合中的对象,使用LikedList类实现List集合的效率较慢。

 语法:List<String> list=new LikedList<String>();   <String>可以是其他的类型

List接口常用的方法

   1. add  

       void add(int index,E element)

在列表的指定位置插入指定元素(可选操作)。将当前处于该位置的元素(如果有的话)和所有后续元素向右移动(在其索引中加 1)
2.remove 
   remove(int index)
 
   移除列表中指定位置的元素(可选操作)。将所有的后续元素向左移动(将其索引减 1)。返回从列表中移除的元素。 

3.indexOf

   int indexOf(Object o)

返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。更确切地讲,返回满足 (o==null ? get(i)==null : o.equals(get(i))) 的最低索引 i;如果没有这样的索引,则返回 -1。 

4.lastIndexOf

  int lastIndexOf(Object o)

返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。更确切地讲,返回满足 (o==null ? get(i)==null : o.equals(get(i))) 的最高索引 i;如果没有这样的索引,则返回 -1。
 

5.set

set(int index,  E element)

用指定元素替换列表中指定位置的元素(可选操作)。 

6.addAll

boolean addAll(int index Collection coll)

将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。将当前处于该位置的元素(如果有的话)和所有后续元素向右移动(增加其索引)。新元素将按照它们通过指定 collection 的迭代器所返回的顺序出现在此列表中。如果在操作正在进行中修改了指定的 collection,那么该操作的行为是不确定的(注意,如果指定的 collection 是此列表,并且它是非空的,则会发生这种情况。) 
例如:
                        ArrayList类和List的一些方法                               
package com.maya.jihe;

import java.util.ArrayList;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List list=new ArrayList();
        //add(int index)   向集合中添加对象
        list.add("a");
        list.add("b");
        list.add("c");
        list.add(123);
        list.add("456");
        int i=(int)(Math.random()*(list.size()-1));
        System.out.println("输出集合:"+list);
        System.out.println("输出集合的长度"+list.size());  //集合.size()   集合中的长度
        System.out.println("输出集合长度的随机数"+i);
        System.out.println("输出随机数所对应的对象"+list.get(i));
        for(int i1=0;i1<list.size();i1++){
            System.out.println(list.get(i1)+"   ");
            }
//        list.remove(3);   //集合.remove()   移除集合中指定索引位置的对象
//        System.out.println("输出去除索引值3所对应的对象之后的集合:"+list);
//        System.out.println("输出除索引值3所对应的对象之后的集合的长度"+list.size());
//        list.add(3, "我是刚加入的");  //集合.add(int index,Object obj)  向集合中指定索引位置添加对象,其他对象的索引位置相对后移一位。
//        System.out.println("输出加入索引值3所对应的对象之后的集合:"+list);
//        list.set(3, "我是刚被替换的"); //集合.set(int index,E element)   用指定元素替换列表中指定位置的元素,返回以前在指定位置的元素。
//        System.out.println("输出替换索引值3所对应的对象之后的集合:"+list);
        
    }
}

                                                                   linkedList类                                                                    

package com.maya.jihe;
import java.util.LinkedList;
import java.util.List;
public class Likedlist {
    public static void main(String[] args) {
        List list=new LinkedList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add(123);
        list.add("456");
        System.out.println(list);
        list.remove(3);   //集合.remove()   移除集合中指定索引位置的对象
        System.out.println("输出去除索引值3所对应的对象之后的集合:"+list);
    }
}
原文地址:https://www.cnblogs.com/514929hgy/p/6904214.html