List接口

来源:互联网 发布:お知らせいたします 编辑:程序博客网 时间:2024/05/22 01:50
     List接口是Collection接口的一个子接口,在List接口下也有一些子类,这里先不细说;List接口的主要实现类是用ArrayList来实现的,ArrayList是List下的一个子类,一般把它叫做动态数组。那么既然List是Collection的一个子类,它就一定包含了其父类Colection的全部方法,同时还新增了一些方法如下:
1:void add(int Index , Object e)  在现集合中的Index位置插入元素e
2:boolean addAll(int index , Collection e)  在现集合中的Index位置插入集合e的所有元素(顺序不变)  成功返回true  失败返回false
3:Object get(int Index)  返回位于Index位置的元素
4:Object remove(int index)  删除唯一Index位置的元素并将其返回
5:Object set(int index , Object e)  将位于Index位置的元素替换为e   并返回被替换的元素
6:int indexOf(Object e)  返回元素e在当前集合中首次出现的位置  如若不存在  则返回-1
7:int lastIndexOf(Object e)  返回元素e在当前集合中最后一次出现的位置  如若不存在  则返回-1
8:List subList(int fromIndex , int toIndex)  返回一个List类型的集合  该集合的内容为当前集合的fromIndex位置到toIndex之间的元素,但不包含toIndex这个位置的元素,相当于数学中的区间:[ fromIndex , toIndex)
它们的具体实现方法如下:
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
public class TestList {
        @Test
        public void ListTest1(){
              Person P new Person("美女" ,20);
               List A = new ArrayList();
               List B = new ArrayList();
               A .add(123);
               A .add("帅哥" );
               A .add(P );
               B .addAll(A ); //调用Collection中的addAll()方法
               //1:void add( int Index,Object e)
               A .add(2, "小孩" );
               //2:boolean addAll( int Index,Collection e)
               A .addAll(3, B );
              System. out .println("插入元素后的集合为:" );
               for (Object each :A )//打印插入元素后的集合
              {
                     System. out .println(each );
              }
               //3:Object get(int Index)
              System. out .println("方法三所得元素的值为:" +A .get(2));
               //4:Object remove( int Index)
              System. out .println("方法四被删除的元素为:" +A .remove(2));
               //5:Object set( int Index , Object e)
              System. out .println("方法五被替换的元素为:" + A.set(0, 456));
              System. out .println("现在集合的元素如下:" );
               for (Object each :A )//打印替换和删除元素后的集合
              {
                     System. out .println(each );
              }
               //6:int indexOf(Object e)
               //7:int lastIndexOf(Object e)
              System. out .println("方法六该元素第一次出现的位置为:" +A .indexOf( "帅哥"));
              System. out .println("方法七该元素最后一次出现的位置为:" +A .lastIndexOf( "帅哥"));
               //8:List subList( int fromIndex,int toIndex)
               List C = A.subList(3, 5);
              System. out .println("方法八所得的集合为" );
               for (Object each :C )//打印集合C
              {
                     System. out .println(each );
              }
              
       }
       
}
class Person{
       String name;
        int age ;
       Person(String name, int age )
       {
               this .name name ;
               this .age age ;
       }
        public String toString(){//重写toString方法
               return ("[" +name +"," +age +"]" );
       }
}
//运行结果如下
插入元素后的集合为:
123
帅哥
小孩
123
帅哥
[美女,20]
[美女,20]
方法三所得元素的值为:小孩
方法四被删除的元素为:小孩
方法五被替换的元素为:123
现在集合的元素如下:
456
帅哥
123
帅哥
[美女,20]
[美女,20]
方法六该元素第一次出现的位置为:1
方法七该元素最后一次出现的位置为:3
方法八所得的集合为
帅哥
[美女,20]
          以上就是List新增的这八个方法的具体实现情况了,对于List的遍历,他是和Collection一样的遍历方法,如利用迭代器,增强for循环,具体的遍历方法请参考文章:http://blog.csdn.net/qq_38785658/article/details/72407649
原创粉丝点击