集合 簡單 案例
阿新 • • 發佈:2017-06-20
random color ava move ast cnblogs static rand 關於
package com.oracle.Test; import java.util.ArrayList; import java.util.Collection; public class Demo02 { /* * 去除重復的常見邏輯 (如果已有API可以滿足你的需要.就使用已有的.) * * 1. 利用第一次出現的位置和最後一次出現的位置.比較兩個位置 * 是否相同.如果位置一樣代表沒有重復.如果位置不相同代表有重復. * * * 2.取集合中的第一個元素.將該元素保存下來. * 從當前集合中移除第一個元素.再利用contains方法來驗證 * 如果返回值為false 代表沒有重復.如果返回值為true.求下標 * 移除..重復直到contains的返回值為false. * * * 關於查找: * **/ public static void main(String[] args) { //--1 提供一個集合 ArrayList<Character> list = new ArrayList<>(); //--2 循環賦值 a97 0 48 for(int i = 0 ; i < 20 ;i ++){ list.add((char)(Math.random()*15 + 97)); } System.out.println(list);//--3 遍歷集合 Collection<Character> cList = new ArrayList<>(); int length = list.size(); while(length > 0){ //--取出一個元素 Character c = list.get(0); //--求第一次出現的下標和最後一次出現的下標 int index = list.indexOf(c); //indexOf( Object o)第一次出現的下標 int lastIndex = list.lastIndexOf(c); //lastIndexOf( Object o)最後一次出現的下標 //--如果下標不一致則有重復元素 if (index == lastIndex) { System.out.println(1 +""+ c); list.remove(c); length = list.size(); }else{ //-- 將該元素添加到一個新的集合中. cList.clear(); cList.add(c); //-- 獲取原有長度 //-- 利用removeAll方法.一次行把和該值相同的元素移除 list.removeAll(cList); System.out.println(length - list.size() + "" + c ); length = list.size(); } } //--4 查找重復 //--5 打印元素和重復的個數 } }
集合 簡單 案例