在编码中,经常会用到两种存储结构之间的转换,而对于存储数据来说,在list和array之间转换也较为频繁,这里整理几种常用方法,但归根到底,还是API里的方法:
1. List转换成Array
List里有两个方法:
Object[] toArray();
<T> T[] toArray(T[] a);
看方法签名也就知道了,两个不同之处就是带有范型的方法具有运行时类型确定的特性,而前一个只能返回Object[],在需要的时候需要强制转换,简单吧!
<T> T[] toArray(T[] a);在转换时,如果a的大小小于list的大小,则会建一个新的数组,否则则用a~
根据API的说法,toArray()和toArray(new Object[0])效果是一样的。
下面来个例子:
public class ListToArray {
public static void main(String[] args) {
ListToArray x = new ListToArray();
List<User> users = new ArrayList<User>();
User user1 = x.new User("zhangsan", 20);
User user2 = x.new User("Lisi", 25);
users.add(user1);
users.add(user2);
User[] userArray = users.toArray(new User[0]);
userArray[0].setName("Modi");
System.out.println(userArray[0]);//Name: Modi; Age: 20
System.out.println(users.get(0));//Name: Modi; Age: 20
List<String> list = new ArrayList<String>();
list.add("fisrt");
list.add("second");
list.toArray();//Object[]
list.toArray(new String[0]);//String[]
String str[] = list.toArray(new String[] {});
String str2[] = new String[1];
list.toArray(str2);
System.err.println(str2[0]);//null
String str3[] = new String[2];
list.toArray(str3);
System.err.println(str3[0]);//first
System.out.println(str.length);
}
public class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Name: " + name + "; Age: " + age;
}
}
}
2. Array转换为List
public static <T> List<T> asList(T... a) ;
给个示例:
public class ArrayToList {
public static void main(String[] args) {
List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
for(String s:stooges) {
System.out.print(s+"\t");
}
System.out.println();
String[] other = new String[5];
for(int i=75;i>72;i--) {
other[75-i]=(char)i+"";
}
List<String> list = Arrays.asList(other);
for(String s:list) {
System.out.print(s+"\t");
}
}
}
分享到:
相关推荐
java List、Set与Array之间的相互转换 java List、Set与Array之间的相互转换
主要介绍了java中List、Array、Map、Set等集合相互转换的相关资料,需要的朋友可以参考下
详解Java如何在Array和List之间进行转换.rar
本篇文章主要介绍了Java集合List与Array的相互转换,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Json格式的字符串转成List、Array、Map、Object、List等,就是各种字符串转其他格式的方法.有个封装好的转换方法和一个我自己做的示例
测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar
list以及array是python中经常会用到的数据类型,当需要对list以及array进行文件的读写操作的时候,由于write函数参数需要的是一个str,所以这时就需要对list或者array进行str的转换了。 list和array的不同: 在进行...
此下载包含 POJO 中使用 json格式传递到页面所需要的包 POJO 中Object/Array/List/Map转换为json格式的语法 PS:下载了可以保证json方面完全没有问题的使用。 thia's all!!!
listFields.java 利用反射机制获取成员属性列表 listMethods.java 利用反射机制获取成员方法列表 loadClass.java 动态装载一个类 Shape.java 一个用于测试的简单类 useArray1.java 用反射机制使用数组示例1 ...
174、JAVA SERVLET API中forward() 与redirect()的区别? 42 178、如何现实servlet的单线程模式 42 179、页面间对象传递的方法 42 180、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 42 181、四种会话...
比如Map、List,在javascript中对应为Object和Array 5、友好逐行数据输出并回调:java中可以将List逐行输出到浏览器中, 框架每接收到一条数据,能够自动回调给定的javascript方法, 从而实现数据流的逐行输出; 该...
主要介绍了php array 转json及java 转换 json数据格式操作,结合实例形式分析了PHP针对array数组转json以及Java操作Map、List、对象与json格式转换的相关实现技巧,需要的朋友可以参考下
不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表 (hash table),有键列表(keyed list),或者关联数组 (associative array)。 在 Java 语言中,我们可以...
json的java类,支持json对象、list、array、map等转换为json字符串。 该压缩包中追加了几个转换为json字符串的示例。
26.如何实现数组和 List 之间的转换? 27.ArrayList 和 Vector 的区别是什么? 28.Array 和 ArrayList 有何区别? 29.在 Queue 中 poll()和 remove()有什么区别? 30.哪些集合类是线程安全的? 31.迭代器 Iterator ...
26. 如何实现数组和 List 之间的转换? 27. ArrayList 和 Vector 的区别是什么? 28. Array 和 ArrayList 有何区别? 29. 在 Queue 中 poll()和 remove()有什么区别? 30. 哪些集合类是线程安全的? 31. 迭代器 ...
实例13 Java中的进制与移位运算符 22 第3章 条件控制语句(教学视频:75分钟) 26 3.1 if控制语句 26 实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 ...
实例212 List、Set与Array之间的相互转换 375 实例213 二分查找法的实现方法 377 实例214 模拟操作系统的进程调度 379 实例215 利用栈将字符串逆序输出 381 实例216 动态的数组链表 382 实例217 你能猜出鱼是谁的...
实例212 List、Set与Array之间的相互转换 375 实例213 二分查找法的实现方法 377 实例214 模拟操作系统的进程调度 379 实例215 利用栈将字符串逆序输出 381 实例216 动态的数组链表 382 实例217 你...
26. 如何实现数组和 List 之间的转换? 11 27. ArrayList 和 Vector 的区别是什么? 11 28. Array 和 ArrayList 有何区别? 12 29. 在 Queue 中 poll()和 remove()有什么区别? 12 30. 哪些集合类是线程安全的? 12 ...