java中 set,list,array(集合与数组)相互转换
public static Object[] List2Array(List<Object> oList) {
Object[] oArray = oList.toArray(new Object[] {});
// TODO 需要在用到的时候另外写方法,不支持泛型的Array.
return oArray;
} public static Object[] Set2Array(Set<Object> oSet) {
Object[] oArray = oSet.toArray(new Object[] {});
// TODO 需要在用到的时候另外写方法,不支持泛型的Array.
return oArray;
} public static <T extends Object> List<T> Set2List(Set<T> oSet) {
List<T> tList = new ArrayList<T>(oSet);
// TODO 需要在用到的时候另外写构造,根据需要生成List的对应子类。
return tList;
} public static <T extends Object> List<T> Array2List(T[] tArray) {
List<T> 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<T> tList = new ArrayList<T>(Arrays.asList(tArray));
return tList;
} public static <T extends Object> Set<T> List2Set(List<T> tList) {
Set<T> tSet = new HashSet<T>(tList);
//TODO 具体实现看需求转换成不同的Set的子类。
return tSet;
} public static <T extends Object> Set<T> Array2Set(T[] tArray) {
Set<T> tSet = new HashSet<T>(Arrays.asList(tArray));
// TODO 没有一步到位的方法,根据具体的作用,选择合适的Set的子类来转换。
return tSet;
}
java中 set,list,array(集合与数组)相互转换的更多相关文章
- Java中的容器(集合)之ArrayList源码解析
1.ArrayList源码解析 源码解析: 如下源码来自JDK8(如需查看ArrayList扩容源码解析请跳转至<Java中的容器(集合)>第十条):. package java.util ...
- Java中的容器(集合)之HashMap源码解析
1.HashMap源码解析(JDK8) 基础原理: 对比上一篇<Java中的容器(集合)之ArrayList源码解析>而言,本篇只解析HashMap常用的核心方法的源码. HashMap是 ...
- Java中定义不了可变长数组怎么办---集合 泛型
一.集合(Collections) Java使用集合来组织和管理对象. 1.Java的集合类 集合类主要负责保存.盛装和管理对象,因此集合类也被称为容器类. 集合类分为Set.List.Map和Que ...
- Java中的数值和集合
数组array和集合的区别: (1) 数值是大小固定的,同一数组只能存放一样的数据. (2) java集合可以存放不固定的一组数据 (3) 若程序事不知道究竟需要多少对象,需要在空间不足时自动扩增容量 ...
- java中的数据结构(集合|容器)
对java中的数据结构做一个小小的个人总结,虽然还没有到研究透彻jdk源码的地步.首先.java中为何需要集合的出现?什么需求导致.我想对于面向对象来说,对象适用于描述任何事物,所以为了方便对于对象的 ...
- java中的ArrayList 使得集合中的对象不重复
JAVA中的List接口存放的元素是可以重复的,在这个我重写对象里面的equals()方法,让集合里存放的对象不能重复 首先建一个类,在里面的main()方法中实现 list1中存放的是可以重复对象的 ...
- java中Arrays.sort()对二位数组进行排序
int [][]a = new int [5][2]; //定义一个二维数组,其中所包含的一维数组具有两个元素 对于一个已定义的二位数组a经行如下规则排序,首先按照每一个对应的一维数组第一个元素进行升 ...
- 浅谈集合框架六——集合扩展:Arrays工具类、集合与数组相互转换方式;
最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...
- Java中的并发编程集合使用
一.熟悉Java自带的并发编程集合 在java.util.concurrent包里有很多并发编程的常用工具类. package com.ietree.basicskill.mutilthread.co ...
随机推荐
- 一些用过的C#类库收集
[System.Math] [System.Guid] [System.Management.Automation.RuntimeException] [System.DateTime] [Syste ...
- 学习之痛(数据库->存储过程和函数)
存储过程和函数作为数据库的一部分,为什么是学习之痛. 项目实际开发,考虑性能和代码维护,绝对不用存储过程. 如果单纯自己写个小程序糊弄人玩,还可以写写. [学习] 在数据库中定义一些SQL语句集合,然 ...
- eclipse中project->clean的作用是什么
1.由于eclipse的编译是基于时间戳的判断机制的.因此当你按build all的时候有些eclipse认为时间戳没有改变的类不会被编译.因此你可以先clean一下再编译.这个时候eclipse ...
- NSDate 获取明天、后天的日期
NSDate * senddate=[NSDate date]; NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIde ...
- 【翻译】CEDEC2014 CAPCOM 照相机正确的照片真实的制作工作流
这次带来的翻译是Capcom在CEDEC2014上发表的技术美术相关的资料.资料的目的,就是在已经拥有了一套基于物理的渲染引擎的前提下,如何进行图片真实的材料的拍摄并制作为引擎里的材质,以及如何正确 ...
- DirectX 基础学习系列6 字体
DIRECTX9自带ID3DXFONT类 内部调用GDI的接口,效率一般,但能够处理一些复杂的字体 HRESULT D3DXCreateFontIndirect( LPDIRECT3DDEVICE9 ...
- PHP iconv()函数转字符编码的问题(转)
PHP iconv()函数转字符编码的问题(转) 载自:http://www.nowamagic.net/php/php_FunctionIconv.php 在php函数库有一个函数:iconv(), ...
- a compromise between lock overhead and data safety
High Performance My SQL THIRD EDITION A locking strategy is a compromise between lock overhead and ...
- kudu
Kudu White Paper http://www.cloudera.com/documentation/betas/kudu/0-5-0/topics/kudu_resources.html h ...
- jquery autocomplete插件结合ajax使用
<%@ page isELIgnored="false"%> <%@ page contentType="text/html; charset=UTF- ...