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


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);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值