首页 > 代码库 > 集合 简单 案例

集合 简单 案例

 

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  打印元素和重复的个数 
                                  
        }
    }

     

 

集合 简单 案例