1 list.size() 方法

看下源码的注释

/**
 * Returns the number of elements in this list.  If this list contains
 * more than {@code Integer.MAX_VALUE} elements, returns
 * {@code Integer.MAX_VALUE}.


简单的翻译下

返回列表中的元素数。如果列表包含多于 Integer.MAX_VALUE 个元素,则返回 Integer.MAX_VALUE。

 

一个一个找有点慢,看了下api文档 弄过来了 比较全一些

方法摘要

 boolean

add(E 

          向列表的尾部添加指定的元素(可选操作)。

 void

add(int index, E 

          在列表的指定位置插入指定元素(可选操作)。

 boolean

addAll(Collection<? extends E> c) 

          添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序(可选操作)。

 boolean

addAll(int index, Collection<? extends E> c) 

          将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。

 void

clear() 

          从列表中移除所有元素(可选操作)。

 boolean

contains(Object 

          如果列表包含指定的元素,则返回 true。

 boolean

containsAll(Collection<?> c) 

          如果列表包含指定 collection 的所有元素,则返回 true。

 boolean

equals(Object 

          比较指定的对象与列表是否相等。

 E

get(int index) 

          返回列表中指定位置的元素。

 int

hashCode() 

          返回列表的哈希码值。

 int

indexOf(Object 

          返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。

 boolean

isEmpty() 

          如果列表不包含元素,则返回 true。

 Iterator<E>

iterator() 

          返回按适当顺序在列表的元素上进行迭代的迭代器。

 int

lastIndexOf(Object 

          返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。

 ListIterator<E>

listIterator() 

          返回此列表元素的列表迭代器(按适当顺序)。

 ListIterator<E>

listIterator(int index) 

          返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。

 E

remove(int index) 

          移除列表中指定位置的元素(可选操作)。

 boolean

remove(Object 

          从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。

 boolean

removeAll(Collection<?> c) 

          从列表中移除指定 collection 中包含的其所有元素(可选操作)。

 boolean

retainAll(Collection<?> c) 

          仅在列表中保留指定 collection 中所包含的元素(可选操作)。

 E

set(int index, E 

          用指定元素替换列表中指定位置的元素(可选操作)。

 int

size() 

          返回列表中的元素数。

 List<E>

subList(int fromIndex, int toIndex) 

          返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。

 Object[]

toArray() 

          返回按适当顺序包含列表中的所有元素的数组(从第一个元素到最后一个元素)。

toArray(T[] a) 

          返回按适当顺序(从第一个元素到最后一个元素)包含列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。

<T> T[]

 

常见的使用列举下使用方法

List<String> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        for(int i=0;i<list.size();i++){
          System.out.println(list.get(i));
        }

使用add 方法添加 abc   list.size() 是列表中元素的数量  get()方法返回列表中指定位置的元素。

那么输出的结果是

列表Fragment和详细信息Fragment联动功能java java列表的使用_list

刚才的添加是在尾部添加的

看看方法可以指定位置添加 

列表Fragment和详细信息Fragment联动功能java java列表的使用_list_02

现在在第一位添加一个 d

代码如下

List<String> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add(0,"d");
        for(int i=0;i<list.size();i++){
          System.out.println(list.get(i));
        }

输入的结果

列表Fragment和详细信息Fragment联动功能java java列表的使用_System_03

在看下remove方法

List<String> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add(0,"d");
        list.remove("d");
        list.remove(0);
        for(int i=0;i<list.size();i++){
          System.out.println(list.get(i));
        }

 remove 方法可以根据下标 也可以根据元素的内容

上面的结果移除了d有移除了第一位那么输出的结果为

列表Fragment和详细信息Fragment联动功能java java列表的使用_System_04

 

list中是否包含某个元素  的方法contain

List<String> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add(0,"d");
        String str= "a";
        if (list.contains(str)){
            System.out.println("list包含a");
        }else{
            System.out.println("list不包含a");
        }

 输出结果

列表Fragment和详细信息Fragment联动功能java java列表的使用_System_05

 

isEmpty() 
          如果列表不包含元素,则返回 true。

List<String> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add(0,"d");
        if (list.isEmpty()){
            System.out.println("list为空");
        }else{
            System.out.println("list不为空");
        }

输出结果

列表Fragment和详细信息Fragment联动功能java java列表的使用_System_06

清空list 可以使用

list.clear 或者 list.removeAll

List<String> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add(0,"d");
        list.removeAll(list);
        if (list.isEmpty()){
            System.out.println("list为空");
        }

 

indexOf(Object 
          返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。

例如返回d下标

List<String> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add(0,"d");
        System.out.print(list.indexOf("d"));
        }

输入结果为 0

list 替换元素

可以使用set()方法 ,可以使用 add 方法 如下

List<String> list = new ArrayList();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add(0,"d");
        list.set(0,"e");
        list.add(1,"f");
         for (int i=0;i<list.size();i++){
             System.out.print(list.get(i));
         }

 输出结果为

列表Fragment和详细信息Fragment联动功能java java列表的使用_指定位置_07