1. 程式人生 > 其它 >List介面中的常用方法

List介面中的常用方法

一、List介面中的一些方法

void add(int index,Object ele):在index位置插入ele元素
boolean addAll(int index,Collection eles):從index位置開始將eles中的所有元素新增進來
Object get(int index):獲取指定index位置的元素
int indexOf(Object obj):返回obj在集合中首次出現的位置
int lastIndexOf(Object obj):返回obj在當前集合中末次出現的位置
Object remove(int index):移除指定index位置的元素,並返回此元素
Object set(int index,Object ele):設定指定index位置的元素為ele
List subList(int fromIndex,int toIndex):返回從fromIndex到toIndex位置的子集合

二、常用方法總結

  • 增:add(Object e)
  • 刪:remove(int index) / remove(Object obj)
  • 改:set(int index,Object ele)
  • 查:get(int index)
  • 插:add(int index,Object ele)
  • 長度:size()
  • 遍歷:1.Iterator迭代器方式 2.增強for迴圈 3.普通迴圈

三、程式碼演示:

    @Test
    public void test1(){
        ArrayList list = new ArrayList();
        list.add(123);
        list.add(456);
        list.add("AA");
        list.add(new Person("Tom",12));
        list.add(456);

        System.out.println(list);

        //void add(int index,Object ele):在index位置插入ele元素
        list.add(1,"BB");
        System.out.println(list);

        //boolean addAll(int index,Collection eles):從index位置開始將eles中的所有元素新增進來
        List list1 = Arrays.asList(1, 2, 3);
        list.addAll(list1);
        System.out.println(list.size());

        //Object get(int index):獲取指定index位置的元素
        System.out.println(list.get(0));

    }

    @Test
    public void test2(){
        ArrayList list = new ArrayList();
        list.add(123);
        list.add(456);
        list.add("AA");
        list.add(new Person("Tom",12));
        list.add(456);

        //int indexOf(Object obj):返回obj在集合中首次出現的位置。如果不存在,返回-1。
        int index = list.indexOf(456);
        System.out.println(index);

        //int lastIndexOf(Object obj):返回obj在當前集合中末次出現的位置。如果不存在,返回-1。
        System.out.println(list.lastIndexOf(456));

        //Object remove(int index):移除指定index位置的元素,並返回此元素
        Object obj = list.remove(0);
        System.out.println(obj);
        System.out.println(list);

        //Object set(int index,Object ele):設定指定index位置的元素為ele
        list.set(1,"CC");
        System.out.println(list);

        //List subList(int fromIndex,int toIndex):返回從fromIndex到toIndex位置的左閉右開區間的子集合
        List subList = list.subList(2, 4);
        System.out.println(subList);
        System.out.println(list);

    }

    @Test
    public void test3(){
        ArrayList list = new ArrayList();
        list.add(123);
        list.add(456);
        list.add("AA");

        //方式一:Iterator迭代器方式
        Iterator iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }

        System.out.println("======================");

        //方式二:增強for迴圈
        for (Object obj : list) {
            System.out.println(obj);
        }

        System.out.println("======================");

        //方式三:普通for迴圈
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

    }

四、區分List中remove(int index)和remove(Object obj)

    @Test
    public void testListRemove() {
        ArrayList list = new ArrayList();
        list.add(1);
        list.add(2);
        list.add(3);
        updateList(list);
        System.out.println(list);

    }

    private void updateList(ArrayList list) {
        list.remove(2);//刪除下標為2的元素
        list.remove(new Integer(2));//
    }