Java中Set 和List两个集合怎样互相转化?

解决方案 »

  1.   

    Set和List都是接口,他们的取得都必须是实现了Collection接口和Iterable接口的类。只要是实现了这两个接口的类都就可以实现取得Set接口对象和List接口的目的。我只用过Set,觉得他们用的地方不一样,所以应该是不能转换的。真正要进行转换的话,就应当是用实现了Collection接口和Iterable接口的集合对象去取得这两个接口的对象吧。不知道是不是正解!
      

  2.   

    循环一个集合,将对象一个一个加入另一个集合就可以啊
    注意有的集合(如Set的每个元素必须是唯一的)有自己的限定,做好错误处理
      

  3.   

    List list = new ArrayList(set);
    Set set = new HashSet(list);
      

  4.   

    转换是可以的,但有时会丢失数据,你要注意它们的区别.Set里的元素是不能重复的,而List是可以的.
      

  5.   


    //但是有一点,转换当中可能要丢失数据,尤其是从list转换到set的时候,因为set不能有重复数据
    //还有转换到set之后,他们原先在list上的顺序就没了,
    public class Csdn {
        public static void main(String[] args) {
         List<String> list = new ArrayList<String>();
         Collections.addAll(list, "zhao","long","ri");//填充
         Set<String> set= new HashSet<String>();
         set.addAll(list);//给set填充
         list.clear();//清空list,不然下次把set元素加入此list的时候是在原来的基础上追加元素的
         list.addAll(set);//把set的
        }
    }