您好,登錄后才能下訂單哦!
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.Collections;
- import java.util.HashSet;
- import java.util.Iterator;
- public class fuxi3_arraylist_hashset
- {
- public static void main(String[] args)
- {
- /************************* JDK1.5增強(qiáng)型for循環(huán) *************************************************/
- Collection<String> list = new HashSet<String>();// 多態(tài)
- list.add("aaa");
- list.add("bbb");
- list.add("aaa");
- list.add("ddd");
- list.add("eee");
- System.out.println(list.toString());// 打印結(jié)果[aaa, ddd, bbb, eee]
- for (Object obj : list)// 遍歷list元素,賦給obj
- {
- System.out.println(obj);
- }
- /************************* collection容器ArrayList *************************************************/
- ArrayList<Integer> c1 = new ArrayList<Integer>();
- c1.add(10);
- c1.add(20);
- c1.add(30);
- c1.add(20);
- c1.add(50);
- int cs = c1.size();// 容器大小
- c1.set(0, 5);// 設(shè)置容器內(nèi)指定元素
- cs = c1.indexOf(10);// 判斷對(duì)象的位置
- c1.subList(0, 2);// 截取0-1位置的容器元素,生成新的容器
- System.out.println(c1);
- System.out.println(c1.subList(0, 2));
- Object[] obj = c1.toArray();// 轉(zhuǎn)成數(shù)組
- for (int i = 0; i < obj.length; i++)
- {
- System.out.println(obj[i]);
- }
- /**
- * ArrayList為什么有兩個(gè)remove方法? remove(int index) 是子類新添加的!
- * 如果是父類引用指向子類對(duì)象,則找不到子類中新添加的方法。 要想調(diào)用子類新添加的方法,需要先轉(zhuǎn)型
- */
- c1.remove(2);// 移除該位置的元素,原容器長(zhǎng)度減1
- c1.remove(Integer.valueOf(20));// 移除第一個(gè)該值的元素對(duì)象,原容器長(zhǎng)度減1,返回類型為布爾類型,結(jié)果為true
- System.out.println(c1);
- int ig = c1.get(0);// 得到位置0的元素
- boolean bc = c1.isEmpty();// 是否為空
- bc = c1.contains(15);// 是否包含
- c1.clear();// 清空
- /************************* 容器間ArrayList *************************************************/
- ArrayList<String> a1 = new ArrayList<String>();
- a1.add("aaa");
- a1.add("bbb");
- a1.add("ccc");
- a1.add("ddd");
- a1.add("eee");
- ArrayList<String> a2 = new ArrayList<String>();
- a2.add("bbb");
- a2.add("eee");
- a2.add("ddd");
- boolean flag2 = a2.remove("fff");
- System.out.println(flag2);// 結(jié)果為false
- System.out.println(a1.containsAll(a2));// 是否包含a2所有元素,返回布爾值true
- System.out.println(a1.retainAll(a2));// 求交集,返回布爾值true
- System.out.println(a1.addAll(a2));// 添加a2所有元素,返回布爾值true
- System.out.println(a1.removeAll(a2));// 移除與a2所有元素相同的元素,返回布爾值true
- a1.retainAll(a2);// 求交集,返回布爾值,a1打印結(jié)果為:[bbb, ddd, eee]
- a1.addAll(a2);// 添加,結(jié)果為:[aaa, bbb, ccc, ddd, eee, bbb, ddd]
- a1.removeAll(a2);// 移除,結(jié)果為:[aaa, ccc]
- System.out.println(a1);
- /************************* 工具類collections *************************************************/
- ArrayList<Integer> aa = new ArrayList<Integer>();
- aa.add(13);
- aa.add(5);
- aa.add(10);
- aa.add(53);
- aa.add(25);
- aa.add(18);
- Collections.shuffle(aa);// 將容器內(nèi)對(duì)象重新隨機(jī)排列
- Collections.sort(aa);// 將容器內(nèi)對(duì)象從小到大排序
- Collections.reverse(aa);// 將容器內(nèi)對(duì)象倒置排列
- Collections.fill(aa, 555);// 用特定的對(duì)象初始化整個(gè)aa
- Collections.swap(aa, 0, aa.size() - 1);// 容器內(nèi)對(duì)象位置對(duì)換
- Integer inc = Collections.max(aa);// 獲取容器值最大的對(duì)象
- int ic = Collections.binarySearch(aa, 5);// 二分法查找容器內(nèi)對(duì)象,用之前必須先sort,否則結(jié)果返回-1
- System.out.println(ic);
- // /////////////////////////////***復(fù)制****/////////////////////////////////////////////
- ArrayList<Integer> aa1 = new ArrayList<Integer>();
- aa1.add(2);
- aa1.add(3);
- ArrayList<Integer> aa2 = new ArrayList<Integer>();
- aa2.add(12);
- aa2.add(13);
- aa2.add(14);
- ArrayList<Integer> aa3 = new ArrayList<Integer>();
- aa3.add(15);
- // Collections.copy(aa1, aa2); //將aa2復(fù)制到aa1,aa1長(zhǎng)度必須大于aa2,否則報(bào)錯(cuò)
- Collections.copy(aa2, aa3);// 將aa3復(fù)制到aa2,長(zhǎng)度不夠的保留原對(duì)象,打印結(jié)果:[15, 13, 14]
- System.out.println(aa1);
- System.out.println(aa2);
- }
- }
免責(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)容。