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集合类框架的基本接口有哪些? 参考答案 集合类接口指定了一组叫做元素的对象.集合类接口的每一种具体的实现类都可以选择以它自己的方式对元素进行保存和排序.有的集合类允许重复的键,有些不允许 ...
随机推荐
- Design Principles (设计原则)
这是我在2018年4月写的英语演讲稿,可惜没人听得懂(实际上就没几个人在听). 文章的内容是我从此前做过的项目中总结出来的经验,从我们的寝室铃声入手,介绍了可扩展性.兼容性与可复用性等概念,最后提出良 ...
- Egret入门学习日记 --- 第四篇
第四篇(学习篇) 好了,今天继续把昨天的问题解决了. 今天见鬼了. 现在界面又出来了.唯一我动过的地方,应该就是这里: 是的,我点了一下刷新.之后,不管我怎么创建新的EXML文件,放在src目录,还是 ...
- 关于过两级mux的时序约束的添加(一个非常经典的时序约束问题)
非常开心自己的微信公众号: <数字集成电路设计及EDA教程> 关注者超过了1700 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具 ...
- Web前端_微信小程序实战开发
微信小程序开发实战教程 一.微信小程序 它是一种混合开发的方式. 是安装在微信中的程序(一个程序最多2M空间). 1.1 注册 1 2 点击立即注册:进入下方页面 3 4 点击小程序进入表单填写页 ...
- ServiceFabric极简文档-5.0 Service Fabric有状态与无状态
Service Fabric 应用程序方案 2017/08/14 作者 Edward Chen Jack Zeng Azure Service Fabric提供了一个可靠而灵活的平台,可用于编写和运行 ...
- ZIP:GZIP
GZIPInputStream: GZIPInputStream(InputStream in) :使用默认缓冲区大小创建新的输入流. GZIPInputStream(InputStream in, ...
- 【不带权图算法之拓扑排序】-C++
拓扑排序算法主要由以下两步循环执行,直到不存在入度为 的顶点为止. 选择一个入度为 的顶点并将它输出: 删除从该顶点连出的所有边. 循环结束,若输出的顶点数小于图中的顶点数,则表示该图中存在回路,也就 ...
- ISTQB名词辨析
测试规程说明(Test Procedure Specification) 规定了执行测试的一系列行为的文档,也称为测试脚本或测试剧本.
- vs2005 打不开resoure view?
原来是破解版 vc助手惹的祸. 解决方法:卸载vc助手或者换一个注册的vc助手
- 洛谷P2880 [USACO07JAN]平衡的阵容Balanced Lineup 题解
题目链接: https://www.luogu.org/problemnew/show/P2880 分析: ST表实现即可,一个最大值数组和最小值数组同时维护 代码: #include<cstd ...