Java中的集合框架
概念
Java中的集合類:是一種工具類,就像是容器,儲存任意數(shù)量的具有共同屬性的對象
集合的作用


集合框架的類型:
collection和map 都是接口,不能實例化
List和Queue有序、可重復,Set無序、不可重復

list添加元素兩種add方法
1、直接添加,元素添加在隊尾;
對象存入集合都變成object類型,取出時需要類型轉(zhuǎn)換
2、指定位置添加,指定的位置(從0開始)不能超過隊列的長度,否則報錯(數(shù)組下標越界)。
list的兩種addAll方法:添加類的數(shù)組
public void testAdd(){
//add方法一
Course cr1 = new Course("1", "課程一");
coursesToSelect.add(cr1);
Course temp = (Course)coursesToSelect.get(0);
System.out.println("添加了課程:"+temp.id+":"+temp.name);
//add方法二,添加到指定位置
Course cr2 = new Course("2", "課程二");
coursesToSelect.add(0, cr2);;
Course temp2 = (Course)coursesToSelect.get(0);
System.out.println("添加了課程:"+temp2.id+":"+temp2.name);
//addAll數(shù)組添加方法一
Course[] cr34 = {new Course("3", "課程三"), new Course("4", "課程四")};
coursesToSelect.addAll(Arrays.asList(cr34));//添加數(shù)組的方法
Course temp3 = (Course)coursesToSelect.get(2);
Course temp4 = (Course)coursesToSelect.get(3);
System.out.println("添加了兩門課程:"+temp3.id+":"+temp3.name+
";"+temp4.id+":"+temp4.name);
//addAll數(shù)組添加方法二,添加到指定位置
Course[] cr56 = {new Course("5", "課程五"), new Course("6", "課程六")};
coursesToSelect.addAll(2, Arrays.asList(cr56));
Course temp5 = (Course)coursesToSelect.get(2);
Course temp6 = (Course)coursesToSelect.get(3);
System.out.println("添加了兩門課程:"+temp5.id+":"+temp5.name+
";"+temp6.id+":"+temp6.name);
}
遍歷List
1.for循環(huán)遍歷
/**
* 取得List中的元素的方法
* @param args
*/
public void testGet(){
int size = coursesToSelect.size();
System.out.println("有如下課程待選:");
for(int i=0; i<size;i++){
Course cr = (Course)coursesToSelect.get(i);
System.out.println("課程:"+cr.id+":"+cr.name);
}
}
2.通過迭代器來遍歷List,迭代器只是用來遍歷集合中元素的,本身不具有存儲元素的功能??梢哉f它是依賴某個集合存在的,不能獨立存在。
/**
* 通過迭代器來遍歷List
* @param args
*/
public void testIterator(){
Iterator it = coursesToSelect.iterator();
System.out.println("有如下課程待選(迭代器):");
while(it.hasNext()){
Course cr = (Course)it.next();//Iterator的next方法
System.out.println("課程:"+cr.id+":"+cr.name);
}
}
3.通過for each 方法訪問集合元素
/**
* 通過for each 方法訪問集合元素
* @param args
*/
public void testForEach(){
System.out.println("有如下課程待選(for each):");
for(Object obj:coursesToSelect){
Course cr = (Course)obj;//取出的元素一致都為Object類型,需要強轉(zhuǎn)
System.out.println("課程:"+cr.id+":"+cr.name);
}
}
修改List中的元素。List中有個Set方法
/**
* 修改List中的元素
* @param args
*/
public void testModify(){
coursesToSelect.set(4, new Course("7", "課程七"));
}
刪除List中的元素。與add相似,有remove和removeAll兩種
/**
* 刪除List中的元素
* @param args
*/
public void testRemore(){
Course cr = (Course)coursesToSelect.get(4);
System.out.println("我是課程:"+cr.id+":"+cr.name+",我即將被刪除了");
coursesToSelect.remove(cr);
System.out.println("刪掉了。。");
testForEach();//方法內(nèi)部調(diào)用方法
}
上述remove()中也可直接放入索引下標,即可直接刪除。如remove(4)
removeAll是從一個集合中將另一個集合中的所有元素全部刪除。
public void testRemore(){
Course[] courses={(Course)coursesToSelect.get(3),(Course)coursesToSelect.get(4)};
System.out.println("我是課程:3,4,我即將被刪除了");
coursesToSelect.removeAll(Arrays.asList(courses));
System.out.println("刪掉了。。");
testForEach();//方法內(nèi)部調(diào)用方法
}
**實際編寫代碼中最好每個類中的屬性都私有(private),需要使用時再用getXX或setXX
private String id;
public String getId(){
return id;
}
public String setId(){
this.id=id;
}
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
MyBatis中insert操作返回主鍵的實現(xiàn)方法
在使用MyBatis做持久層時,insert語句默認是不返回記錄的主鍵值,而是返回插入的記錄條數(shù)。這篇文章主要介紹了MyBatis中insert操作返回主鍵的方法,需要的朋友可以參考下2016-09-09
在Java中避免NullPointerException的解決方案
這篇文章主要介紹了在Java中避免NullPointerException的解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
SpringBoot集成Solr實現(xiàn)全文檢索功能
solr是一個現(xiàn)成的全文檢索引擎系統(tǒng), 放入tomcat下可以獨立運行, 對外通過http協(xié)議提供全文檢索服務,這篇文章給大家介紹了SpringBoot集成Solr實現(xiàn)全文檢索功能,文中有詳細的代碼示例供大家參考,需要的朋友可以參考下2024-03-03
@Transactional遇到try catch失效的問題
這篇文章主要介紹了@Transactional遇到try catch失效的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01

