- import java.util.ArrayList;
- import java.util.Iterator;
- public class SingleElement
- {
- /**
- * 去除ArrayList中的重复元素
- */
- public static void main(String[] args)
- {
- ArrayList<String> al=new ArrayList<String>();
- al.add("java01");
- al.add("java01");
- al.add("java02");
- al.add("java03");
- ArrayList<String> newal=singleElement(al);
- System.out.println(newal);
- }
- public static ArrayList<String> singleElement(ArrayList<String> al)
- {
- ArrayList<String> newal=new ArrayList<String>();
- for(Iterator<String> it=al.iterator();it.hasNext();)
- {
- //String str=it.next();//将str传入下面的contains中时结果还不一样,为什么?当然add的参数也改为str。情况1
- if(!newal.contains(it.next()));//现在的结果没有java02为什么?
- newal.add(it.next());
- }
- return newal;
- }
- }
复制代码 程序结果为java01,java03.当为情况1时,程序结果为java01,java01,java02,java03.这到底是为啥了?
|