Java List常用方法总结

package list;

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

/**
 * List常用方法总结
 */
public class ListMethod {
    public static void main(String[] args) {
        List list = new ArrayList();

        //1.1、增 add() 添加单个元素,默认是添加到list末尾,也可以在第一个参数指定要插入的位置(下标)
        list.add("Tom");        //添加到末尾
        list.add("Bob");
        list.add(1, "王颖"); //插入在下标为1处
        System.out.println("1.1 " + list);

        //1.2、addAll() 一次添加多个元素 参数为Collection类型,和前者一样可以指定插入位置或者默认
        List temp = new ArrayList();
        temp.add("杨过");
        temp.add("小龙女");
        list.addAll(temp);  //默认添加到末尾
        System.out.println("1.2 " + list);
        list.addAll(0,temp); //指定插入位置
        System.out.println("1.2 " + list);

        //2、删 remove() 删除指定下标位置元素,并返回此元素, 类似的还有removeALl
        Object obj = list.remove(0);
        System.out.println("2、删除的下标为0的元素为:" + obj);
        System.out.println("2、删除后list内容为:" + list);

        //3、改 set() 设置该下标位置元素为所给元素,相当于替换
        list.set(3, "Evan");
        System.out.println("3、将下标为3处设为Evan:" + list);

        //4、查 get() 获取该下标位置元素
        System.out.println("4、list中下标为3的元素是: " + list.get(3));

        //5、indexOf() 返回该对象在list中第一次出现的索引,lastIndexOf是最后一次出现的索引
        System.out.println("5、list中小龙女第一次出现的索引为:" + list.indexOf("小龙女"));
        System.out.println("5、list中小龙女最后一次出现的索引为:" + list.lastIndexOf("小龙女"));

        //6、size() 获取list大小
        System.out.println("6、list的大小为:" + list.size());

        //7、subList() 截取子列表 两个参数 [a,b) 区间左闭右开
        List list1 = list.subList(2, 4); //实际截取到了2、3两个元素
        System.out.println("7、截取到的list为: " + list1);

        //8、sort list没有默认排序规则,需要自己传入一个实现了Comparator接口的子类,自定义比较规则
        list.sort(new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                String s1 = (String) o1;  //这里没用泛型,如果用泛型就不需要自己转型了
                String s2 = (String) o2;
                return s2.length()-s1.length(); //按长度从大到小排
            }
        });
        System.out.println("8、排序以后的list为" + list);

    }
}

你可能感兴趣的:(编程之路,java,开发语言)