摘要:把最后一個(gè)替換為被替換的元素被替換的元素集合遍歷有種方式使用普通的循環(huán)返回集合中指定位置的元素。使用迭代器使用增強(qiáng)構(gòu)造一個(gè)初始容量為的空列表。按照指定的迭代器所返回的元素順序,將該中的所有元素添加到此列表的尾部。
package com.itheima.demo01.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/*
java.util.List接口 extends Collection接口 List接口的特點(diǎn): 1.有序的集合,存儲(chǔ)元素和取出元素的順序是一致的(存儲(chǔ)123 取出123) 2.有索引,包含了一些帶索引的方法 3.允許存儲(chǔ)重復(fù)的元素 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):用指定元素替換集合中指定位置的元素,返回值的更新前的元素。 注意: 操作索引的時(shí)候,一定要防止索引越界異常 IndexOutOfBoundsException:索引越界異常,集合會(huì)報(bào) ArrayIndexOutOfBoundsException:數(shù)組索引越界異常 StringIndexOutOfBoundsException:字符串索引越界異常
*/
public class Demo01List {
public static void main(String[] args) { //創(chuàng)建一個(gè)List集合對(duì)象,多態(tài) Listlist = 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之間添加一個(gè)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):用指定元素替換集合中指定位置的元素,返回值的更新前的元素。 //把最后一個(gè)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循環(huán) for(int i=0; i it = list.iterator(); while(it.hasNext()){ String s = it.next(); System.out.println(s); } System.out.println("-----------------"); //使用增強(qiáng)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()
構(gòu)造一個(gè)初始容量為 10 的空列表。
ArrayList(Collection extends E> c)
構(gòu)造一個(gè)包含指定 collection 的元素的列表,這些元素是按照該 collection 的迭代器返回它們的順序排列的。
ArrayList(int initialCapacity)
構(gòu)造一個(gè)具有指定初始容量的空列表。
方法摘要
boolean add(E e)
將指定的元素添加到此列表的尾部。
void add(int index, E element)
將指定的元素插入此列表中的指定位置。
boolean addAll(Collection extends E> c)
按照指定 collection 的迭代器所返回的元素順序,將該 collection 中的所有元素添加到此列表的尾部。
boolean addAll(int index, Collection extends E> c)
從指定的位置開始,將指定 collection 中的所有元素插入到此列表中。
void clear()
移除此列表中的所有元素。
Object clone()
返回此 ArrayList 實(shí)例的淺表副本。
boolean contains(Object o)
如果此列表中包含指定的元素,則返回 true。
void ensureCapacity(int minCapacity)
如有必要,增加此 ArrayList 實(shí)例的容量,以確保它至少能夠容納最小容量參數(shù)所指定的元素?cái)?shù)。
E get(int index)
返回此列表中指定位置上的元素。
int indexOf(Object o)
返回此列表中首次出現(xiàn)的指定元素的索引,或如果此列表不包含元素,則返回 -1。
boolean isEmpty()
如果此列表中沒有元素,則返回 true
int lastIndexOf(Object o)
返回此列表中最后一次出現(xiàn)的指定元素的索引,或如果此列表不包含索引,則返回 -1。
E remove(int index)
移除此列表中指定位置上的元素。
boolean remove(Object o)
移除此列表中首次出現(xiàn)的指定元素(如果存在)。
protected void removeRange(int fromIndex, int toIndex)
移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之間的所有元素。
E set(int index, E element)
用指定的元素替代此列表中指定位置上的元素。
int size()
返回此列表中的元素?cái)?shù)。
Object[] toArray()
按適當(dāng)順序(從第一個(gè)到最后一個(gè)元素)返回包含此列表中所有元素的數(shù)組。
toArray(T[] a)
按適當(dāng)順序(從第一個(gè)到最后一個(gè)元素)返回包含此列表中所有元素的數(shù)組;返回?cái)?shù)組的運(yùn)行時(shí)類型是指定數(shù)組的運(yùn)行時(shí)類型。
void trimToSize()
將此 ArrayList 實(shí)例的容量調(diào)整為列表的當(dāng)前大小。
*/
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/105187.html
摘要:編程思想第版這本書要常讀,初學(xué)者可以快速概覽,中等程序員可以深入看看,老鳥還可以用之回顧的體系。以下視頻整理自慕課網(wǎng)工程師路徑相關(guān)免費(fèi)課程。 我自己總結(jié)的Java學(xué)習(xí)的系統(tǒng)知識(shí)點(diǎn)以及面試問(wèn)題,目前已經(jīng)開源,會(huì)一直完善下去,歡迎建議和指導(dǎo)歡迎Star: https://github.com/Snailclimb/Java-Guide 筆者建議初學(xué)者學(xué)習(xí)Java的方式:看書+視頻+實(shí)踐(初...
摘要:前面已經(jīng)講解集合中的并且也對(duì)其中使用的紅黑樹結(jié)構(gòu)做了對(duì)應(yīng)的說(shuō)明,這次就來(lái)看下簡(jiǎn)單一些的另一個(gè)集合類,也是日常經(jīng)常使用到的,整體來(lái)說(shuō),算是比較好理解的集合了,一起來(lái)看下前言版本類定義繼承了,實(shí)現(xiàn)了,提供對(duì)數(shù)組隊(duì)列的增刪改查操作實(shí)現(xiàn)接口,提供隨 前面已經(jīng)講解集合中的HashMap并且也對(duì)其中使用的紅黑樹結(jié)構(gòu)做了對(duì)應(yīng)的說(shuō)明,這次就來(lái)看下簡(jiǎn)單一些的另一個(gè)集合類,也是日常經(jīng)常使用到的ArrayL...
摘要:將之前第位置的元素置空,返回被刪除的元素。平常常用的迭代器方法就是判斷當(dāng)前索引是否等于。最重要的是會(huì)更新,此時(shí)調(diào)用了父類的方法,會(huì)使,所以更新了,讓后續(xù)的檢查不會(huì)拋異常。 本篇主要介紹ArrayList的用法和源碼分析,基于jdk1.8,先從List接口開始。 List List接口定義了如下方法: int size(); boolean isEmpty(); boolean con...
摘要:是棧,它繼承于。滿二叉樹除了葉結(jié)點(diǎn)外每一個(gè)結(jié)點(diǎn)都有左右子葉且葉子結(jié)點(diǎn)都處在最底層的二叉樹。沒有鍵值相等的節(jié)點(diǎn)。這是數(shù)據(jù)庫(kù)選用樹的最主要原因。 在我們學(xué)習(xí)Java的時(shí)候,很多人會(huì)面臨我不知道繼續(xù)學(xué)什么或者面試會(huì)問(wèn)什么的尷尬情況(我本人之前就很迷茫)。所以,我決定通過(guò)這個(gè)開源平臺(tái)來(lái)幫助一些有需要的人,通過(guò)下面的內(nèi)容,你會(huì)掌握系統(tǒng)的Java學(xué)習(xí)以及面試的相關(guān)知識(shí)。本來(lái)是想通過(guò)Gitbook的...
閱讀 1824·2023-04-26 01:55
閱讀 1088·2021-09-30 09:47
閱讀 1683·2019-08-30 15:54
閱讀 749·2019-08-30 15:53
閱讀 701·2019-08-30 15:52
閱讀 1144·2019-08-30 15:44
閱讀 2418·2019-08-30 14:06
閱讀 1066·2019-08-29 16:39