java原始碼研究--List中的set和add方法區別

破玉發表於2016-11-18

在處理一道題目是,發現他們使用了List 中的set 方法,這個方法我平時很少用到,今天來研究一下,set和add的區別

add(int index,Object obj)方法與set(int index,Object e)

我們寫一個例子:

package cn.magicdu.think.collections;

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

public class ListTest {
    public static void main(String[] args) {
        List<Integer> l1 = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            l1.add(i, i + 100);
        }
        for (int i = 0; i < l1.size(); i++) {
            System.out.print("索引" + i + ":" + l1.get(i) + ",");
        }

        // List<Integer>l2=new ArrayList<>();

        for (int j = 0; j < 5; j++) {
            l1.set(j, j + 200);
        }
        for (int j = 5; j < 10; j++) {
            l1.add(j, j + 300);
        }
        System.out.println();
        for (int i = 0; i < l1.size(); i++) {
            System.out.print("索引" + i + ":" + l1.get(i) + ",");
        }
    }

}

 

結果:

 

相關文章