java集合中l(wèi)ist的用法代碼示例
List接口是Collection接口的子接口,List有一個重要的實現(xiàn)類--ArrayList類,List中的元素是有序排列的而且可重復(fù),所以被稱為是序列。
List可以精確的控制每個元素的插入位置,或刪除某個位置元素,它的實現(xiàn)類ArrayList底層是由數(shù)組實現(xiàn)的。
List中有增刪改查的方法,我們可以通過例子演示:
我們通過對學(xué)生選課,來演示List中對課程增刪改查的方法
/** * 課程類 * @author lenovo * */ public class KeCheng { public String id; public String name; public KeCheng(String id,String name){ this.id = id; this.name = name; } }
創(chuàng)建一個學(xué)生類
import java.util.HashSet; import java.util.Set; /** * 學(xué)生類 * @author lenovo * */ public class Student { public String id; public String name; public Set kecheng; public Student(String id,String name){ this.id = id; this.name = name; this.kecheng = new HashSet(); } }
創(chuàng)建一個備選課程的類
/** * 備選課程類 * @author lenovo * */ public class ListTest { //用于存放備選課程的List public List beixuan; public ListTest(){ this.beixuan = new ArrayList(); } }
可以使用List中add方法添加課程
/* * 用來往beixuan里添加備選課程的方法 */ public void kcAdd(){ //創(chuàng)建一個課程的對象,調(diào)用add方法,添加到備選課程的List中 KeCheng kc = new KeCheng("1","數(shù)據(jù)結(jié)構(gòu)"); beixuan.add(kc); KeCheng kc2 = new KeCheng("2","C語言"); beixuan.add(0, kc2); KeCheng[] kcArr = {new KeCheng("3","大學(xué)語文"),new KeCheng("4","線性代數(shù)")}; beixuan.addAll(Arrays.asList(kcArr)); KeCheng[] kcArr2 = {new KeCheng("5","藝術(shù)設(shè)計"),new KeCheng("6","計算機基礎(chǔ)")}; beixuan.addAll(2, Arrays.asList(kcArr2)); }
使用get方法取出指定位置上的內(nèi)容,并用for循環(huán)遍歷出課程的內(nèi)容
/* * 使用for循環(huán)遍歷課程的方法 */ public void getKC(){ int size = beixuan.size(); System.out.println("使用for遍歷課程:"); for (int i = 0; i < size; i++) { KeCheng kc = (KeCheng) beixuan.get(i); System.out.println("課程:"+kc.id+":"+kc.name+";"); } }
遍歷List的內(nèi)容,除了使用for循環(huán)外,還可以使用迭代器、foreach等方法
/* * 使用Iterator迭代器遍歷課程 */ public void testIterator(){ Iterator it = beixuan.iterator(); System.out.println("使用Iterator遍歷課程:"); while(it.hasNext()){ KeCheng kc = (KeCheng) it.next(); System.out.println("課程:"+kc.id+":"+kc.name+";"); } } /* * 使用for each遍歷課程 */ public void testForeach(){ System.out.println("使用for each遍歷課程:"); for(Object obj : beixuan){ KeCheng kc = (KeCheng)obj; System.out.println("課程:"+kc.id+":"+kc.name+";"); } }
修改List中的元素,可以使用set方法
/* * 使用set方法添加課程 */ public void testModify(){ beixuan.set(0, new KeCheng("7","毛概")); }
刪除List中的元素有兩種方法,一是使用remove方法
/* * 使用remove方法刪除課程 */ public void testRemove(){ KeCheng kc = (KeCheng) beixuan.get(0); System.out.println("我是課程:"+kc.id+":"+kc.name+";即將被刪除"); boolean b = beixuan.remove(kc); if(b){ System.out.println("成功刪除課程"); testForeach(); } }
還可以使用removeAll方法刪除一個課程類型的數(shù)組
/* * 使用removeAll方法刪除課程 */ public void testRemoveAll(){ System.out.println("即將刪除4和5位置上的課程"); KeCheng[] kc = {(KeCheng) beixuan.get(4),(KeCheng) beixuan.get(5)}; beixuan.removeAll(Arrays.asList(kc)); System.out.println("課程刪除成功"); testForeach(); }
總結(jié)
以上就是本文關(guān)于java集合中l(wèi)ist的用法代碼示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友繼續(xù)參閱本站:java集合中的list詳解、Java編程接口調(diào)用的作用及代碼分享、java并發(fā)學(xué)習(xí)之BlockingQueue實現(xiàn)生產(chǎn)者消費者詳解等,有什么問題可以隨時留言,小編會及時回復(fù)大家的。感謝朋友們對本站的支持!
相關(guān)文章
idea啟動多個SpringBoot服務(wù)實例的最優(yōu)解決方法
啟動SpringBoot項目其實就是啟動Tomcat等服務(wù)容器,只要這個端口不同就能啟動多個服務(wù)實例了,本文主要介紹了idea啟動多個SpringBoot服務(wù)實例的最優(yōu)解決方法,感興趣的可以了解一下2024-05-05Maven入門之使用Nexus搭建Maven私服及上傳下載jar包
這篇文章主要介紹了Maven入門之使用Nexus搭建Maven私服及上傳下載jar包,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12Java常用鎖synchronized和ReentrantLock的區(qū)別
這篇文章主要介紹了Java常用鎖synchronized和ReentrantLock的區(qū)別,二者的功效都是相同的,但又有很多不同點,下面我們就進(jìn)入文章了解具體的相關(guān)內(nèi)容吧。需要的小伙伴也可以參考一下2022-05-05SpringBoot核心@SpringBootApplication使用介紹
這篇文章主要介紹了SpringBoot核心@SpringBootApplication的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03SpringBoot整合token實現(xiàn)登錄認(rèn)證的示例代碼
本文主要介紹了SpringBoot整合token實現(xiàn)登錄認(rèn)證的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07MyBatisPlus利用Service實現(xiàn)獲取數(shù)據(jù)列表
這篇文章主要為大家詳細(xì)介紹了怎樣使用 IServer 提供的 list 方法查詢多條數(shù)據(jù),這些方法將根據(jù)查詢條件獲取多條數(shù)據(jù),感興趣的可以了解一下2022-06-06