package com.itheima.demo01.List;java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;數組
/*code
java.util.List接口 extends Collection接口 List接口的特色: 1.有序的集合,存儲元素和取出元素的順序是一致的(存儲123 取出123) 2.有索引,包含了一些帶索引的方法 3.容許存儲重複的元素 List接口中帶索引的方法(特有) - public void add(int index, E element): 將指定的元素,添加到該集合中的指定位置上。 - public E get(int index):返回集合中指定位置的元素。 - public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。 - public E set(int index, E element):用指定元素替換集合中指定位置的元素,返回值的更新前的元素。 注意: 操做索引的時候,必定要防止索引越界異常 IndexOutOfBoundsException:索引越界異常,集合會報 ArrayIndexOutOfBoundsException:數組索引越界異常 StringIndexOutOfBoundsException:字符串索引越界異常
*/
public class Demo01List {對象
public static void main(String[] args) { //建立一個List集合對象,多態 List<String> list = new ArrayList<>(); //使用add方法往集合中添加元素 list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("a"); //打印集合 System.out.println(list);//[a, b, c, d, a] 不是地址重寫了toString //public void add(int index, E element): 將指定的元素,添加到該集合中的指定位置上。 //在c和d之間添加一個itheima list.add(3,"itheima");//[a, b, c, itheima, d, a] System.out.println(list); //public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。 //移除元素 String removeE = list.remove(2); System.out.println("被移除的元素:"+removeE);//被移除的元素:c System.out.println(list);//[a, b, itheima, d, a] //public E set(int index, E element):用指定元素替換集合中指定位置的元素,返回值的更新前的元素。 //把最後一個a,替換爲A String setE = list.set(4, "A"); System.out.println("被替換的元素:"+setE);//被替換的元素:a System.out.println(list);//[a, b, itheima, d, A] //List集合遍歷有3種方式 //使用普通的for循環 for(int i=0; i<list.size(); i++){ //public E get(int index):返回集合中指定位置的元素。 String s = list.get(i); System.out.println(s); } System.out.println("-----------------"); //使用迭代器 Iterator<String> it = list.iterator(); while(it.hasNext()){ String s = it.next(); System.out.println(s); } System.out.println("-----------------"); //使用加強for for (String s : list) { System.out.println(s); } String r = list.get(5);//IndexOutOfBoundsException: Index 5 out-of-bounds for length 5 System.out.println(r); }
/*
ArrayList
ArrayList()索引
構造一個初始容量爲 10 的空列表。
ArrayList(Collection<? extends E> c)接口
構造一個包含指定 collection 的元素的列表,這些元素是按照該 collection 的迭代器返回它們的順序排列的。
ArrayList(int initialCapacity)ci
構造一個具備指定初始容量的空列表。
方法摘要
boolean add(E e)element
將指定的元素添加到此列表的尾部。
void add(int index, E element)rem
將指定的元素插入此列表中的指定位置。
boolean addAll(Collection<? extends E> c)字符串
按照指定 collection 的迭代器所返回的元素順序,將該 collection 中的全部元素添加到此列表的尾部。
boolean addAll(int index, Collection<? extends E> c)
從指定的位置開始,將指定 collection 中的全部元素插入到此列表中。
void clear()
移除此列表中的全部元素。
Object clone()
返回此 ArrayList 實例的淺表副本。
boolean contains(Object o)
若是此列表中包含指定的元素,則返回 true。
void ensureCapacity(int minCapacity)
若有必要,增長此 ArrayList 實例的容量,以確保它至少可以容納最小容量參數所指定的元素數。
E get(int index)
返回此列表中指定位置上的元素。
int indexOf(Object o)
返回此列表中首次出現的指定元素的索引,或若是此列表不包含元素,則返回 -1。
boolean isEmpty()
若是此列表中沒有元素,則返回 true
int lastIndexOf(Object o)
返回此列表中最後一次出現的指定元素的索引,或若是此列表不包含索引,則返回 -1。
E remove(int index)
移除此列表中指定位置上的元素。
boolean remove(Object o)
移除此列表中首次出現的指定元素(若是存在)。
protected void removeRange(int fromIndex, int toIndex)
移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之間的全部元素。
E set(int index, E element)
用指定的元素替代此列表中指定位置上的元素。
int size()
返回此列表中的元素數。
Object[] toArray()
按適當順序(從第一個到最後一個元素)返回包含此列表中全部元素的數組。
<T> T[]
toArray(T[] a)
按適當順序(從第一個到最後一個元素)返回包含此列表中全部元素的數組;返回數組的運行時類型是指定數組的運行時類型。
void trimToSize()
將此 ArrayList 實例的容量調整爲列表的當前大小。
*/ }