溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

常用API-增強(qiáng)型for循環(huán)、容器ArrayList、collections

發(fā)布時(shí)間:2020-07-24 03:18:23 來(lái)源:網(wǎng)絡(luò) 閱讀:478 作者:glblong 欄目:開(kāi)發(fā)技術(shù)

 

  1. import java.util.ArrayList; 
  2. import java.util.Collection; 
  3. import java.util.Collections; 
  4. import java.util.HashSet; 
  5. import java.util.Iterator; 
  6.  
  7. public class fuxi3_arraylist_hashset 
  8.     public static void main(String[] args) 
  9.     { 
  10.         /************************* JDK1.5增強(qiáng)型for循環(huán) *************************************************/ 
  11.         Collection<String> list = new HashSet<String>();// 多態(tài) 
  12.          
  13.         list.add("aaa"); 
  14.         list.add("bbb"); 
  15.         list.add("aaa"); 
  16.         list.add("ddd"); 
  17.         list.add("eee"); 
  18.          
  19.         System.out.println(list.toString());// 打印結(jié)果[aaa, ddd, bbb, eee] 
  20.          
  21.         for (Object obj : list)// 遍歷list元素,賦給obj 
  22.         { 
  23.             System.out.println(obj); 
  24.         } 
  25.          
  26.         /************************* collection容器ArrayList *************************************************/ 
  27.         ArrayList<Integer> c1 = new ArrayList<Integer>(); 
  28.         c1.add(10); 
  29.         c1.add(20); 
  30.         c1.add(30); 
  31.         c1.add(20); 
  32.         c1.add(50); 
  33.          
  34.         int cs = c1.size();// 容器大小 
  35.         c1.set(05);// 設(shè)置容器內(nèi)指定元素 
  36.         cs = c1.indexOf(10);// 判斷對(duì)象的位置 
  37.         c1.subList(02);// 截取0-1位置的容器元素,生成新的容器 
  38.         System.out.println(c1); 
  39.         System.out.println(c1.subList(02)); 
  40.          
  41.         Object[] obj = c1.toArray();// 轉(zhuǎn)成數(shù)組 
  42.         for (int i = 0; i < obj.length; i++) 
  43.         { 
  44.             System.out.println(obj[i]); 
  45.         } 
  46.          
  47.         /** 
  48.          * ArrayList為什么有兩個(gè)remove方法? remove(int index) 是子類新添加的! 
  49.          * 如果是父類引用指向子類對(duì)象,則找不到子類中新添加的方法。 要想調(diào)用子類新添加的方法,需要先轉(zhuǎn)型 
  50.          */ 
  51.         c1.remove(2);// 移除該位置的元素,原容器長(zhǎng)度減1 
  52.         c1.remove(Integer.valueOf(20));// 移除第一個(gè)該值的元素對(duì)象,原容器長(zhǎng)度減1,返回類型為布爾類型,結(jié)果為true 
  53.         System.out.println(c1); 
  54.          
  55.         int ig = c1.get(0);// 得到位置0的元素 
  56.         boolean bc = c1.isEmpty();// 是否為空 
  57.         bc = c1.contains(15);// 是否包含 
  58.          
  59.         c1.clear();// 清空 
  60.          
  61.         /************************* 容器間ArrayList *************************************************/ 
  62.         ArrayList<String> a1 = new ArrayList<String>(); 
  63.         a1.add("aaa"); 
  64.         a1.add("bbb"); 
  65.         a1.add("ccc"); 
  66.         a1.add("ddd"); 
  67.         a1.add("eee"); 
  68.          
  69.         ArrayList<String> a2 = new ArrayList<String>(); 
  70.         a2.add("bbb"); 
  71.         a2.add("eee"); 
  72.         a2.add("ddd"); 
  73.          
  74.         boolean flag2 = a2.remove("fff"); 
  75.         System.out.println(flag2);// 結(jié)果為false 
  76.          
  77.         System.out.println(a1.containsAll(a2));// 是否包含a2所有元素,返回布爾值true 
  78.         System.out.println(a1.retainAll(a2));// 求交集,返回布爾值true 
  79.         System.out.println(a1.addAll(a2));// 添加a2所有元素,返回布爾值true 
  80.         System.out.println(a1.removeAll(a2));// 移除與a2所有元素相同的元素,返回布爾值true 
  81.          
  82.         a1.retainAll(a2);// 求交集,返回布爾值,a1打印結(jié)果為:[bbb, ddd, eee] 
  83.         a1.addAll(a2);// 添加,結(jié)果為:[aaa, bbb, ccc, ddd, eee, bbb, ddd] 
  84.         a1.removeAll(a2);// 移除,結(jié)果為:[aaa, ccc] 
  85.          
  86.         System.out.println(a1); 
  87.          
  88.         /************************* 工具類collections *************************************************/ 
  89.         ArrayList<Integer> aa = new ArrayList<Integer>(); 
  90.         aa.add(13); 
  91.         aa.add(5); 
  92.         aa.add(10); 
  93.         aa.add(53); 
  94.         aa.add(25); 
  95.         aa.add(18); 
  96.          
  97.         Collections.shuffle(aa);// 將容器內(nèi)對(duì)象重新隨機(jī)排列 
  98.         Collections.sort(aa);// 將容器內(nèi)對(duì)象從小到大排序 
  99.         Collections.reverse(aa);// 將容器內(nèi)對(duì)象倒置排列 
  100.         Collections.fill(aa, 555);// 用特定的對(duì)象初始化整個(gè)aa 
  101.         Collections.swap(aa, 0, aa.size() - 1);// 容器內(nèi)對(duì)象位置對(duì)換 
  102.          
  103.         Integer inc = Collections.max(aa);// 獲取容器值最大的對(duì)象 
  104.         int ic = Collections.binarySearch(aa, 5);// 二分法查找容器內(nèi)對(duì)象,用之前必須先sort,否則結(jié)果返回-1 
  105.          
  106.         System.out.println(ic); 
  107.          
  108.         // /////////////////////////////***復(fù)制****///////////////////////////////////////////// 
  109.         ArrayList<Integer> aa1 = new ArrayList<Integer>(); 
  110.         aa1.add(2); 
  111.         aa1.add(3); 
  112.          
  113.         ArrayList<Integer> aa2 = new ArrayList<Integer>(); 
  114.         aa2.add(12); 
  115.         aa2.add(13); 
  116.         aa2.add(14); 
  117.          
  118.         ArrayList<Integer> aa3 = new ArrayList<Integer>(); 
  119.         aa3.add(15); 
  120.          
  121.         // Collections.copy(aa1, aa2); //將aa2復(fù)制到aa1,aa1長(zhǎng)度必須大于aa2,否則報(bào)錯(cuò) 
  122.         Collections.copy(aa2, aa3);// 將aa3復(fù)制到aa2,長(zhǎng)度不夠的保留原對(duì)象,打印結(jié)果:[15, 13, 14] 
  123.         System.out.println(aa1); 
  124.         System.out.println(aa2); 
  125.     } 
  126.      

 

向AI問(wèn)一下細(xì)節(jié)

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

AI