ArrayList及List的常用方法

ArrayList

package com.aff.coll;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;

/*
 集合  
   Collection接口
              |----List接口:存储有序,可以重复的元素
                              |----ArrayList(主要的实现类,首选,底层数组实现)
                              |----LinkedList(底层链表结构,适用于频繁的插入,删除操作)
                              |----Vector(古老的,线程安全的,速度慢,不用了)
              |----Set接口:存储无序的,不可重复的元素
                              |----HashSet
                              |----LinkedHashSet
                              |----TreeSet
                              
   Map接口:存储 "键-值"对的数据
              |----HashMap
              |----LinkedHashMap
              |----TreeMap
              |----HashTable(子类:properties)
 */
public class TestList {
    // ArrayList:List的主要实现类
    /*
     List中相对于Collection,新增加的方法
    -- void add(int index,Object ele);   在指定索引位置index添加元素
    --boolean addAll(int index,Collection ele);   指定索引添加集合
    --Object get(int index);   获取指定索引的元素
    --Object remove(int index);   删除指定索引位置的元素
    --Object set(int index,Object ele);  设置指定索引位置的元素为ele
    --int indexOf(Object  obj );   返回obj在在集合中首次出现的位置,没有的话返回-1
    --int lastIndexOf(Object obj);   返回obj在集合中最后一次出现的位置,没有的话,返回-1
    --List subList(int fromIndex,int toIndex );   返回从fromIndex到toIndex结束的一个子list,
                                                  不含后面的为 "[  )" 左闭右开关系
    
    List常用的方法:增:  add(Object obj)
                               删:  remove()
                               改:  set(int index,Object obj)
                               查:  get(int index)
                               插:  add(int index,Object ele)
                               长度:  size()
注意:添加进List集合中的元素(或对象)所在的类一定要重写equals(方法)
*/ @Test public void testList2(){ List list = new ArrayList();
//换成LinkedList输出结果一样的,但是底层是不一样,LinkedList底层用的是链表,
//LinkedList list2 = new LinkedList(); list.add(
123); list.add(456); list.add(new String("AA")); list.add(new String("CC")); list.add(456); System.out.println(list.indexOf(456));//1 System.out.println(list.lastIndexOf(456));//4 System.out.println(list.indexOf(444));//-1 没有 System.out.println(list.subList(0, 3)); //[123, 456, AA] } @Test public void testList() { List list = new ArrayList(); list.add(123); list.add(456); list.add(new String("AA")); list.add(new String("BB")); System.out.println(list);//[123, 456, AA, BB] list.add(0, 555); System.out.println(list); Object obj = list.get(1); System.out.println(obj); list.remove(0); System.out.println(list.get(0)); list.set(0, 111); System.out.println(list.get(0)); /* [123, 456, AA, BB] [555, 123, 456, AA, BB] 123 123 111 */ } }
All that work will definitely pay off
原文地址:https://www.cnblogs.com/afangfang/p/12585419.html