例如  List list =new ArrayList();
  list.add("张三");
  list.add("张三");
  list.add("李四");
  list.add("张三");
  list.add("张三");
  list.add("张三");
  list.add("张三"); 结果应该是打印出:张三

解决方案 »

  1.   

    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;public class Test {
        public static void main(String[] args) {
            List list = new ArrayList();
            list.add("张三 ");
            list.add("张三 ");
            list.add("李四 ");
            list.add("张三 ");
            list.add("张三 ");
            list.add("张三 ");
            list.add("张三 ");
            
            Set set = new HashSet();
            Set duplicatedSet = new HashSet(); // 存放重复的元素
            
            for (Object obj : list) {
                if (set.contains(obj)) {
                    duplicatedSet.add(obj);
                }
                
                set.add(obj);
            }
            
            System.out.println("重复的元素有: " + duplicatedSet);
        }
    }
      

  2.   

    如果我想用String保存重复的元素呢?
      

  3.   

    用String 数组 也可以啊
      

  4.   

           String [] result = new String[duplicatedSet.size()];
            for (int i = 0; i < duplicatedSet.size(); i++) {
             result[i] = duplicatedSet.toArray()[i].toString();
    }
            System.out.println("第一个重复:"+result[0]);
      

  5.   

    import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test {
        public static void main(String[] args) {
            List list = new ArrayList();
            list.add("张三 ");
            list.add("张三 ");
            list.add("李四 ");
            list.add("张三 ");
            list.add("张三 ");
            list.add("张三 ");
            list.add("张三 ");
            
            Set set = new HashSet();
            String str = ""; // 存放重复的元素        Pattern pattern = null;
            Matcher matcher = null;
            for (Object obj : list) {
                if (set.contains(obj)) {
                    pattern = Pattern.compile( (String)obj );
                    matcher = pattern.matcher( str );
                    if(!matcher.find()){
                        str += (String)obj;
                    }
                }
                set.add(obj);
            }
                System.out.println("重复的元素有: " + str);
        }
    }
      

  6.   

    怎么又是这种问题
    借用LS的代码import java.util.ArrayList;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;public class Test {
        public static void main(String[] args) {
            List<String> list = new ArrayList<String>();
            list.add("张三 ");
            list.add("张三 ");
            list.add("李四 ");
            list.add("张三 ");
            list.add("张三 ");
            list.add("张三 ");
            list.add("张三 ");
            
            List<String> result = new ArrayList<String>();
            
            for (String obj : list) {
                if (result.contains(obj)) {
                    continue;
                }
                if (list.indexOf(obj) != list.lastIndexOf(obj)) { //重复则保留
                    result.add(obj);
                }
            }
            String[] sa = result.toArray(new String[0]); //转为数组
            System.out.println("重复的元素有: " + Arrays.toString(sa));
        }
    }
      

  7.   

    for(int i = 0; i < list.size()-1; i++) {
        String temp = list.get(i);
        if(i != list.lastIndexOf(temp)) {
            return temp;
        }
    }