解决方案 »

  1.   

    1.先将list中的数据放置到map中。
    2.遍历map,相同的value放置在一个list中
      

  2.   

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    public class Demo {
    public static void main(String[] args) {
    List<String> list = new ArrayList<String>();
    list.add("1");
    list.add("2");
    list.add("3");
    list.add("1");
    list.add("2");
    list.add("1");
    list.add("4");
    list.add("5");

    Map<String,List<String>> map = 
    new HashMap<String, List<String>>();

    for(String s : list){
    List<String> value = map.get(s);
    if(value == null){
    List<String> temp = new ArrayList<String>();
    temp.add(s);
    map.put(s, temp);
    }
    else{
    value.add(s);
    }
    }

    System.out.println(map);
    }
    }
      

  3.   

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    import java.util.TreeMap;public class Test {
        public static void main(String[] args) {
            List<String> list = new ArrayList<String>();
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("1");
            list.add("2");
            list.add("1");
            list.add("4");
            list.add("5");        System.out.println(test(list));
        }    public static List<List<String>> test(List<String> input) {
            Map<String, List<String>> tmpMap = new TreeMap<String, List<String>>();
            for (String key : input) {
                if (!tmpMap.containsKey(key)) {
                    tmpMap.put(key, new ArrayList<String>());
                }
                tmpMap.get(key).add(key);
            }
            return new ArrayList<List<String>>(tmpMap.values());
        }}
      

  4.   

    Step1: create a map: the key is unduplicated value, the value is a list with duplicated value.
    Step2: fill in this map by iterating that list.
    Step3: iterating the map to generate a new list which will keep the same with your requirement.
      

  5.   

    若是用list遍历?要如何实现?
      

  6.   

    import java.util.ArrayList;
    import java.util.List;public class Test {
        public static void main(String[] args) {
            List<String> input = new ArrayList<String>();
            input.add("1");
            input.add("2");
            input.add("3");
            input.add("1");
            input.add("2");
            input.add("1");
            input.add("4");
            input.add("5");        List<List<String>> result = new ArrayList<List<String>>();
            for (String key : input) {
                boolean found = false;
                for (List<String> resultList : result) {
                    if (resultList.get(0).equals(key)) {
                        resultList.add(key);
                        found = true;
                    }
                }
                if (!found) {
                    List<String> lst = new ArrayList<String>();
                    lst.add(key);
                    result.add(lst);
                }
            }        System.out.println(result);
        }}