java集合中l(wèi)ist的用法代碼示例
List接口是Collection接口的子接口,List有一個(gè)重要的實(shí)現(xiàn)類--ArrayList類,List中的元素是有序排列的而且可重復(fù),所以被稱為是序列。
List可以精確的控制每個(gè)元素的插入位置,或刪除某個(gè)位置元素,它的實(shí)現(xiàn)類ArrayList底層是由數(shù)組實(shí)現(xiàn)的。
List中有增刪改查的方法,我們可以通過(guò)例子演示:
我們通過(guò)對(duì)學(xué)生選課,來(lái)演示List中對(duì)課程增刪改查的方法
/**
* 課程類
* @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)建一個(gè)學(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)建一個(gè)備選課程的類
/**
* 備選課程類
* @author lenovo
*
*/
public class ListTest {
//用于存放備選課程的List
public List beixuan;
public ListTest(){
this.beixuan = new ArrayList();
}
}
可以使用List中add方法添加課程
/*
* 用來(lái)往beixuan里添加備選課程的方法
*/
public void kcAdd(){
//創(chuàng)建一個(gè)課程的對(duì)象,調(diào)用add方法,添加到備選課程的List中
KeCheng kc = new KeCheng("1","數(shù)據(jù)結(jié)構(gòu)");
beixuan.add(kc);
KeCheng kc2 = new KeCheng("2","C語(yǔ)言");
beixuan.add(0, kc2);
KeCheng[] kcArr = {new KeCheng("3","大學(xué)語(yǔ)文"),new KeCheng("4","線性代數(shù)")};
beixuan.addAll(Arrays.asList(kcArr));
KeCheng[] kcArr2 = {new KeCheng("5","藝術(shù)設(shè)計(jì)"),new KeCheng("6","計(jì)算機(jī)基礎(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方法刪除一個(gè)課程類型的數(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的用法代碼示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友繼續(xù)參閱本站:java集合中的list詳解、Java編程接口調(diào)用的作用及代碼分享、java并發(fā)學(xué)習(xí)之BlockingQueue實(shí)現(xiàn)生產(chǎn)者消費(fèi)者詳解等,有什么問(wèn)題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。感謝朋友們對(duì)本站的支持!
- 如何去除Java中List集合中的重復(fù)數(shù)據(jù)
- Java中List集合的遍歷實(shí)例詳解
- Java判斷2個(gè)List集合是否相等(不考慮元素的順序)
- Java集合定義與用法實(shí)例總結(jié)【Set、List與Map】
- java使用lambda表達(dá)式對(duì)List集合進(jìn)行操作技巧(JDK1.8)
- Java中對(duì)List去重 Stream去重的解決方法
- java中List對(duì)象列表實(shí)現(xiàn)去重或取出及排序的方法
- java list去重操作實(shí)現(xiàn)方式
- Java中List集合對(duì)象去重及按屬性去重的8種方法
相關(guān)文章
如何解決idea的Module:‘:app‘platform‘a(chǎn)ndroid-32‘not found.問(wèn)題
這篇文章主要介紹了如何解決idea的Module:‘:app‘platform‘a(chǎn)ndroid-32‘not found.問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
Java 網(wǎng)絡(luò)編程之 TCP 實(shí)現(xiàn)簡(jiǎn)單的聊天系統(tǒng)
這篇文章主要介紹了Java 網(wǎng)絡(luò)編程之 TCP 實(shí)現(xiàn)簡(jiǎn)單的聊天系統(tǒng),幫助大家更好的理解和學(xué)習(xí)Java 網(wǎng)絡(luò)編程,感興趣的朋友可以了解下2020-11-11
Mybatis配置之<environments>配置元素詳解
這篇文章主要介紹了Mybatis配置之<environments>配置元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
在SpringBoot中更改默認(rèn)端口的方法總結(jié)
在本文中,小編將帶大家學(xué)習(xí)如何在 Spring Boot 中更改默認(rèn)端口,默認(rèn)情況下,嵌入式 Web 服務(wù)器使用 8080端口來(lái)啟動(dòng) Spring 引導(dǎo)應(yīng)用程序,有幾種方法可以更改該端口,文中介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
Springboot項(xiàng)目打war包docker包找不到resource下靜態(tài)資源的解決方案
今天小編就為大家分享一篇關(guān)于Springboot項(xiàng)目打war包docker包找不到resource下靜態(tài)資源的解決方案,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
Spring Boot Admin Server管理客戶端過(guò)程詳解
這篇文章主要介紹了Spring Boot Admin Server管理客戶端過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
解決Spring事務(wù)@Transactional多層嵌套失效問(wèn)題
在使用Spring進(jìn)行事務(wù)管理時(shí),可能會(huì)遇到事務(wù)失效的問(wèn)題,主要原因包括數(shù)據(jù)庫(kù)不支持事務(wù)、方法訪問(wèn)級(jí)別不是public、未被Spring管理的Bean、當(dāng)前類的方法內(nèi)部調(diào)用以及配置的事務(wù)傳播性不當(dāng)?shù)?解決事務(wù)失效的方法有使用聲明式事務(wù)處理采用合適的事務(wù)傳播行為2024-11-11

