分离list问题

一个list[1,1,2,2,1,1,1,2,2,2] 怎么分成
多个list [1,1]
[2,2]
[1,1,1]
[2,2,2]

java实现恩
[b]问题补充:[/b]
是的,内容相同就为一个list
[b]问题补充:[/b]
连续的内容相同为一个list

[code="java"]
public static void main(String[] args)
{

    List<Integer> ary = new ArrayList<Integer>();
    ary.add(1);ary.add(1);ary.add(1);
    ary.add(2);ary.add(2);ary.add(2);
    ary.add(1);ary.add(1);ary.add(1);ary.add(1);ary.add(1);ary.add(1);
    ary.add(3);ary.add(3);ary.add(3);

    List<List<Integer>> ret = splitListLinked(ary);

    System.out.println(ret);
}

public static List<List<Integer>> splitListLinked(List<Integer> ary)
{
    if(ary == null || ary.size() == 0)
        return null;

    List<List<Integer>> ret = new ArrayList<List<Integer>>();
    Map<Integer,List<Integer>> map = new HashMap<Integer,List<Integer>>();
    int cur = Integer.MIN_VALUE;
    int before = Integer.MIN_VALUE;
    for(int num : ary)
    {
        cur = num;
        List<Integer> list = map.get(num);
        if(list == null)
        {   
            if(map.get(before) != null)
            {
                ret.add(map.remove(before));
            }

            before = num;
            map.put(num, new ArrayList<Integer>());   
            list = map.get(num);
        }
        else
        {
            if(before != cur)
            {
                ret.add(map.remove(before));
            }
        }
        list.add(num);
    }


    ret.addAll(map.values());

    return ret;

}

[/code]

你的分割规则是什么,就连接相同的数就为一个list?还是什么

list[1,1,2,2,1,1,1,2,2,2]
多个list [1,1]
[2,2]
[1,1,1]
[2,2,2]

是内容相同为一个list还是连续的内容相同为一个list?!

用一个for 循环遍历list[1,1,2,2,1,1,1,2,2,2]
从索引1开始:
list[i] 赋给一个临时变量v,插入到一个list1中,直到list[i]值为2时,
v!=2
将2赋值给v,将此值插入到新的list2中,直到list[i]值为1时,

.....

总之就是list[i]不等于临时变量时,就换插到新的list中