java集合类的相关转换
下面的的案例,基本上是以代码为主,文字的描述较少,后期有时间会继续添加。
ArrayToList
public void ArrayToList() {
System.out.println("ArrayToList");
Object[] objects = new Object[]{"纽约", "伦敦", "法兰克福", "东京", "多伦多"};
//方法一
List<Object> list = new ArrayList<>(Arrays.asList(objects));
System.out.println(list);
//方法二
System.out.println("使用java8特性的方法");
List<Object> list1 = Stream.of(objects).collect(Collectors.toList());
System.out.println(list1);
}
ArrayToMap
public void ArrayToMap() {
System.out.println("ArrayToMap");
Object[] objects = new Object[]{"纽约", "伦敦", "法兰克福", "东京", "多伦多"};
Map<Object, Object> map = new HashMap<>();
int i = 1;
for (Object o : objects) {
map.put(i++, o);
}
System.out.println(map);
}
ArrayToSet
public void ArrayToSet() {
System.out.println("ArrayToMap");
Object[] objects = new Object[]{"纽约", "伦敦", "法兰克福", "东京", "多伦多"};
//方法一
Set<Object> set = new HashSet<>(Arrays.asList(objects));
System.out.println(set);
//方法二
System.out.println("使用java8特性的方法");
Set<Object> set1 = Stream.of(objects).collect(Collectors.toSet());
}
ListToArray
public void ListToArray() {
System.out.println("ListToArray");
List<String> list = new ArrayList<>();
list.add("布朗克斯");
list.add("布鲁克林");
list.add("曼哈顿");
list.add("皇后区");
list.add("斯塔滕岛");
//方法一
String[] strings = list.toArray(new String[list.size()]);
System.out.println(Arrays.toString(strings));
//方法二
System.out.println("使用java8特性的方法");
String[] strings1 = list.stream().toArray(String[]::new);
System.out.println(Arrays.toString(strings1));
}
ListToMap
新建一个Book类(model)
class Book {
private String name;
private Integer releaseYear;
private String isbn;
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", releaseYear=" + releaseYear +
", isbn='" + isbn + '\'' +
'}';
}
public Book(String name, int releaseYear, String isbn) {
this.name = name;
this.releaseYear = releaseYear;
this.isbn = isbn;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getReleaseYear() {
return releaseYear;
}
public void setReleaseYear(int releaseYear) {
this.releaseYear = releaseYear;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
}
主要方法
public void ListToMap() {
System.out.println("ListToMap");
Map<Object, Object> map = new HashMap<>();
List<String> list = new ArrayList<>();
list.add("布朗克斯");
list.add("布鲁克林");
list.add("曼哈顿");
list.add("皇后区");
list.add("斯塔滕岛");
//方法一
for (int i = 0; i < list.size(); i++) {
map.put("第" + i + 1 + "区", list.get(i));
}
System.out.println(map);
//方法二
List<Book> bookList = new ArrayList<>();
bookList.add(new Book("平凡的世界", 2004, "9787020048045"));
bookList.add(new Book("战争与和平", 1989, "9787020014071"));
bookList.add(new Book("百年孤独", 1775, "9787215069657"));
for (int i = 0; i < bookList.size(); i++) {
System.out.println(bookList.get(i).toString());
}
Map<String, Integer> map1 = bookList.stream().collect(Collectors.toMap(Book::getName, Book::getReleaseYear));
System.out.println(map1);
}
ListToSet
public void ListToSet() {
System.out.println("ListToSet");
Set<Object> set = new HashSet<>();
List<String> list = new ArrayList<>();
list.add("布朗克斯");
list.add("布鲁克林");
list.add("曼哈顿");
list.add("皇后区");
list.add("斯塔滕岛");
for (Object i : list) {
set.add(i);
}
System.out.println(set);
}
MapToArray
public void MapToArray() {
System.out.println("MapToArray");
Map<String, String> map = new HashMap<>();
map.put("甘肃", "兰州");
map.put("陕西", "西安");
map.put("新疆", "乌鲁木齐");
map.put("青海", "西宁");
map.put("宁夏", "银川");
Object[][] strings = new Object[map.size()][2];
Iterator iterator = map.entrySet().iterator();
for (int i = 0; i < map.size(); i++) {
Map.Entry entry = (Map.Entry) iterator.next();
strings[i][0] = entry.getKey();
strings[i][1] = entry.getValue();
}
for (Object[] objects : strings) {
for (Object objects1 : objects) {
System.out.print(objects1 + " ");
}
System.out.println();
}
}
MapToList
public void MapToList() {
System.out.println("MapToList");
Map<String, String> map = new HashMap<>();
map.put("甘肃", "兰州");
map.put("陕西", "西安");
map.put("新疆", "乌鲁木齐");
map.put("青海", "西宁");
map.put("宁夏", "银川");
List<Object> objects = new ArrayList<>(map.keySet());
System.out.println(objects);
//list里面放置list
List<List<Object>> lists = new ArrayList<>();
for (Object o : map.keySet()) {
List<Object> objects1 = new ArrayList<>();
objects1.add(o);
objects1.add(map.get(o));
lists.add(objects1);
}
System.out.println(lists);
}
MapToSet
public void MapToSet() {
System.out.println("MapToSet");
Map<String, String> map = new HashMap<>();
map.put("甘肃", "兰州");
map.put("陕西", "西安");
map.put("新疆", "乌鲁木齐");
map.put("青海", "西宁");
map.put("宁夏", "银川");
Set<Object> objects = new HashSet<>(map.keySet());
System.out.println(objects);
}
SetToArray
public void SetToArray() {
System.out.println("SetToArray");
Set<Object> set = new HashSet<>();
set.add("北京");
set.add("上海");
set.add("深圳");
set.add("广州");
Object[] objects = set.toArray(new Object[set.size()]);
System.out.println(Arrays.toString(objects));
}
SetToList
public void SetToList() {
System.out.println("SetToList");
Set<Object> set = new HashSet<>();
set.add("北京");
set.add("上海");
set.add("深圳");
set.add("广州");
List<Object> list = new ArrayList<>(set);
System.out.println(list);
}
SetToMap
public void SetToMap() {
System.out.println("SetToMap");
Set<Object> set = new HashSet<>();
set.add("北京");
set.add("上海");
set.add("深圳");
set.add("广州");
Map<Object, Object> map = new HashMap<>();
Iterator iterator = set.iterator();
for (int i = 0; i < set.size(); i++) {
map.put(i, iterator.next());
}
System.out.println(map);
}
java集合类的相关转换的更多相关文章
- Java集合详解8:Java集合类细节精讲
今天我们来探索一下Java集合类中的一些技术细节.主要是对一些比较容易被遗漏和误解的知识点做一些讲解和补充.可能不全面,还请谅解. 本文参考:http://cmsblogs.com/?cat=5 具体 ...
- Java集合详解8:Java集合类细节精讲,细节决定成败
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
- Java集合类--温习笔记
最近面试发现自己的知识框架有好多问题.明明脑子里知道这个知识点,流程原理也都明白,可就是说不好,不知道是自己表达技能没点,还是确实是自己基础有问题.不管了,再巩固下基础知识总是没错的,反正最近空闲时间 ...
- Java集合类: Set、List、Map、Queue使用场景梳理
本文主要关注Java编程中涉及到的各种集合类,以及它们的使用场景 相关学习资料 http://files.cnblogs.com/LittleHann/java%E9%9B%86%E5%90%88%E ...
- 基础知识《六》---Java集合类: Set、List、Map、Queue使用场景梳理
本文转载自LittleHann 相关学习资料 http://files.cnblogs.com/LittleHann/java%E9%9B%86%E5%90%88%E6%8E%92%E5%BA%8F% ...
- java集合类(六)About Queue
接上篇“java集合类(五)About Map” 终于来到了java集合类的尾声,太兴奋了,不是因为可以休息一阵了,而是因为又到了开启新知识的时刻,大家一起加油打气!!Come on...Fighti ...
- java集合类(五)About Map
接上篇“java集合类(四)About Set” 这次学完Map之后,就剩队列的知识,之后有关java集合类的学习就将告一段落,之后可能会有java连接数据库,I/O,多线程,网络编程或Android ...
- Java 核心内容相关面试题【3】
目录 面向对象编程(OOP) 常见的Java问题 Java线程 Java集合类 垃圾收集器 异常处理 Java小应用程序(Applet) Swing JDBC 远程方法调用(RMI) Servlet ...
- java 集合类基础问题汇总
1.Java集合类框架的基本接口有哪些? 参考答案 集合类接口指定了一组叫做元素的对象.集合类接口的每一种具体的实现类都可以选择以它自己的方式对元素进行保存和排序.有的集合类允许重复的键,有些不允许 ...
随机推荐
- ML.NET技术研究系列-2聚类算法KMeans
上一篇博文我们介绍了ML.NET 的入门: ML.NET技术研究系列1-入门篇 本文我们继续,研究分享一下聚类算法k-means. 一.k-means算法简介 k-means算法是一种聚类算法,所谓聚 ...
- Spring boot ,dubbo整合异常
Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: com.guooo.boot.acc.serv ...
- Redis HyperLogLog用法简介
(1)HyperLogLog简介 在Redis 在 2.8.9 版本才添加了 HyperLogLog,HyperLogLog算法是用于基数统计的算法,每个 HyperLogLog 键只需要花费 12 ...
- Java 读取PDF中的文本和图片
本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法.分别调用方法extractText()和extractImages()来读取. 使用工具:Free Spire.PDF for Ja ...
- Python多进程与多线程编程及GIL详解
介绍如何使用python的multiprocess和threading模块进行多线程和多进程编程. Python的多进程编程与multiprocess模块 python的多进程编程主要依靠multip ...
- py+selenium运行时报错Can not connect to the Service IEDriverServer.exe
问题: 运行用例时,出现报错(host文件已加入127.0.0.1 localhost): raise WebDriverException("Can not connect to the ...
- 简单函数编写_strcpy、_stroverchg、_strcmp
字符串复制函数 void _strcpy(char *tar, const char * res) { char *p = tar; while(assert(tar && res), ...
- sizeof()和lstrlen()和strlen()区别
strlen()是返回字符串的字节长度, lstrlen()是返回字符串的字符长度. 也就是说第二个函数可能和第一个函数结果一样,如果字符串中字符单位都是单字节的话. 一般来说主要 ...
- 洛谷P3150 pb的游戏(1) 题解
题目链接: https://www.luogu.org/problemnew/show/P3150 分析: 这道题是一道典型的入门博弈论.我们可以进行如下考虑: 先引入一个奇偶的性质: 奇数=奇数+偶 ...
- Django REST Framework(DRF)_第二篇
视图和路由 视图封装 第一次封装 上一篇最后我们对书籍表做了增删改查,那么如果现在我们有几十上百张表需要这样做呢?我们知道类的特性有封装,因此我们可以尝试进行封装下. from rest_fram ...