ArrayList去除集合中字符串的重复值(字符串的内容相同)

来源:互联网 发布:数据标准化处理 编辑:程序博客网 时间:2024/06/05 02:40

package JzxPro;import java.util.ArrayList;import java.util.Iterator;/** * ArrayList去除集合中字符串的重复值(字符串的内容相同) * * 分析: *        A:创建集合对象 *        B:添加多个字符串元素(包含内容相同的) *        C:创建新集合 *        D:遍历旧集合,获取得到每一个元素 *        E:拿这个元素到新集合去找,看有没有 *           有:不管 *           没有:就添加到新集合 *        F:遍历新集合 * Created by Administrator on 2016/11/2 0002. */public class Arraylist{    public static void main(String[] args)    {        /*        //创建集合对象        ArrayList array=new ArrayList();        //添加多个字符串元素(包含内容相同的)        array.add("java");        array.add("android");        array.add("hello");        array.add("java");        array.add("hello");        array.add("word");        array.add("word");        array.add("word");        array.add("hello");        array.add("android");        array.add("java");        //创建新集合        ArrayList newarray=new ArrayList();        //遍历旧集合,获取得到每一个元素        Iterator it=array.iterator();        while(it.hasNext())        {            String s=(String)it.next();           //拿这个元素到新集合去找,看有没有                         //有:不管                         //没有:就添加到新集合            if(!(newarray.contains(s)))            {                newarray.add(s);            }        }        //遍历新集合        for(int i=0;i<newarray.size();i++)        {            String s=(String)newarray.get(i);            System.out.println(s);        }        */  /*
第二种  ArrayList去除集合中字符串的重复值(字符串的内容相同)  不能创建新的集合,就在以前的集合上做。 */        //创建集合对象        ArrayList array=new ArrayList();        //添加多个字符串元素(包含内容相同的)        array.add("java");        array.add("android");        array.add("hello");        array.add("java");        array.add("hello");        array.add("word");        array.add("word");        array.add("word");        array.add("hello");        array.add("android");        array.add("java");        // 选择排序思想        // 拿0索引的依次和后面的比较,有就把后面的干掉        // 同理,拿1索引...        for(int i=0;i<array.size()-1;i++)        {            for(int j=i+1;j<array.size();j++)            {                if(array.get(i).equals(array.get(j)))                {                    array.remove(j);                    j--;
//如果不进行j--,就会因为多个连续一样的而使得结果产生误差。                }            }        }        Iterator it=array.iterator();        while(it.hasNext())        {            String s=(String)it.next();            System.out.println(s);        }    }}
1 0