循环,去重复,不过不同的方法效率不一样List<Integer> l1 = new ArrayList<Integer>();
List<Integer> l2 = new ArrayList<Integer>();
for (int i = 1; i < 7; i++) {
l1.add(i);
}
for (int i = 4; i < 9; i++) {
l2.add(i);
}
l1.addAll(l2); Set set = new HashSet();
List newList = new ArrayList();
for (Iterator iter = l1.iterator(); iter.hasNext();) {
Object element = iter.next();
if (set.add(element))
newList.add(element);
}
for (Object o : newList) {
System.out.print(o);
}
System.out.println("\n---");
List<Integer> listInt = new ArrayList<Integer>(
new LinkedHashSet<Integer>(l1));
for (Integer o : listInt) {
System.out.print(o);
}

解决方案 »

  1.   

    list的 排序 比较 组合
      

  2.   

    1,HashSet, 把List里面的数依次放进来它自己会去重的.
    2,如果必须合成为一个List,则在1的基础上通过ArrayList(Collection<? extends E> c)的构造函数new 一个List
    3, 或者创建一个空的ArrayList,其他往里方的时候用contains比较是否已包含
      

  3.   


    我表述的不是很清楚,我的意思是,将两个list拼接起来。
        例如aList有123456,bList有45678,cList有789。这个时候,aList与cList就无缝的拼接起来了,变成dList:123456789。 而aList与bList是不能无缝拼接起来的,因为他们之间存在了重复的456。bList与cList也不能拼接起来,他们存在了重复的78。
       
      

  4.   

    你么你把list 全部转化为string 好了额。index 有的话就不拼接,反之就拼。
      

  5.   

    public static void main(String args[]) throws Exception{
    List list1=new ArrayList();
    List list2=new ArrayList();

    list1.add("1");
    list1.add("2");
    list2.add("2");
    List<String> newChar=new ArrayList();
    concat(newChar,list1,list2);
    for(int i=0;i<newChar.size();i++){
    System.out.println(newChar.get(i));
    }
    }

    static List concat(List<String> newChar,List<String> list1,List<String> list2){
    String[] char1=list1.toArray(new String[0]);
    String[] char2=list2.toArray(new String[0]);

    for(int i=0;i<char1.length;i++){
    newChar.add(char1[i]);
    }
    for(int j=0;j<char2.length;j++){
    if(!newChar.contains(char2[j])) newChar.add(char2[j]);
    else {
    System.out.println("有重复元素,不能拼接");
    newChar.removeAll(newChar);
    break;
    }
    }
    return newChar;
    }
      

  6.   

    前提list中已经是不间断的整数组合,那试试第一个的尾+1是否等于第二个的首,是的话就for取值到list中,不是就continue;
      

  7.   


    完全链接起来,有序的
    嗯,思路大概要做两个操作:1. 新来的list要与原list无缝(可以参考5L思路);2. 通过1判断后,新来的list还要为有序的。这个只要遍历一次,不停+1相等即可。