Java中 set、 list、 array、 Map相互转换

列表转换数组
public static Object[] List2Array(List  oList) {
            Object[] oArray = oList.toArray(new Object[] {});
            // TODO 需要在用到的时候另外写方法,不支持泛型的Array.
            return oArray;
      }


集合转换数组
      public static Object[] Set2Array(Set  oSet) {
            Object[] oArray = oSet.toArray(new Object[] {});
            // TODO 需要在用到的时候另外写方法,不支持泛型的Array.
            return oArray;
      }


集合转换列表
      public static List Set2List(Set oSet) {
            List tList = new ArrayList(oSet);
            // TODO 需要在用到的时候另外写构造,根据需要生成List的对应子类。
            return tList;
      }

数组转换列表
      public static List Array2List(T[] tArray) {
            List tList = Arrays.asList(tArray);
            // TODO 单纯的asList()返回的tList无法add(),remove(),clear()等一些影响集合个数的操作,
            // 因为Arrays$ArrayList和java.util.ArrayList一样,都是继承AbstractList,
            // 但是Arrays$ArrayList没有override这些方法,而java.util.ArrayList实现了。
            // TODO 建议使用List的子类做返回,而不是Arrays$ArrayList。根据需要吧。如下行注释:
            // List tList = new ArrayList(Arrays.asList(tArray));
            return tList;
      }


列表转换集合
      public static Set List2Set(List tList) {
            Set tSet = new HashSet(tList);
            //TODO 具体实现看需求转换成不同的Set的子类。
            return tSet;
      }

      public static Set Array2Set(T[] tArray) {
            Set tSet = new HashSet(Arrays.asList(tArray));
            // TODO 没有一步到位的方法,根据具体的作用,选择合适的Set的子类来转换。
            return tSet;
      }


Map转换Set
      Map可以通过tMap.KeySet()和tMap.values()方法将键值转化为Set集合。
      keySet()返回Map中所包含键的Set视图。删除Set中的元素还将删除Map中相应原映射。
      values()返回Map中所包含值的Collection视图。删除Collection中的元素还将删除Map中相应的映射。
      EnterySet()返回Map中所包含映射的Set视图。Set中的每个元素都是一个Map.Entry对象,可以使用getKey()和 getValue()方法访问后者的键元素和值元素。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值