溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中的集合框架

發(fā)布時間:2020-10-05 03:24:23 來源:腳本之家 閱讀:195 作者:小刀是超人! 欄目:編程語言

概念

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

集合的作用

 Java中的集合框架

 Java中的集合框架

集合框架的類型:

collection和map 都是接口,不能實例化

List和Queue有序、可重復,Set無序、不可重復

 Java中的集合框架

list添加元素兩種add方法

1、直接添加,元素添加在隊尾;

對象存入集合都變成object類型,取出時需要類型轉換

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類型,需要強轉
   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)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持億速云!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI