Java 集合转换(数组、List、Set、Map相互转换)
package com.example.test; import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set; public class ConvertorTest { /**
* @param args
*/
public static void main(String[] args) { testList2Array();
testArray2List();
testSet2List();
testList2Set();
testSet2Array();
testArray2Set();
testMap2Set();
testMap2List();
} private static void testMap2List() { Map<String, String> map = new HashMap<String, String>();
map.put("A", "ABC");
map.put("K", "KK");
map.put("L", "LV"); // 将Map Key 转化为List
List<String> mapKeyList = new ArrayList<String>(map.keySet());
System.out.println("mapKeyList:"+mapKeyList); // 将Map Key 转化为List
List<String> mapValuesList = new ArrayList<String>(map.values());
System.out.println("mapValuesList:"+mapValuesList); } private static void testMap2Set() { Map<String, String> map = new HashMap<String, String>();
map.put("A", "ABC");
map.put("K", "KK");
map.put("L", "LV"); // 将Map 的键转化为Set
Set<String> mapKeySet = map.keySet();
System.out.println("mapKeySet:"+mapKeySet); // 将Map 的值转化为Set
Set<String> mapValuesSet = new HashSet<String>(map.values());
System.out.println("mapValuesSet:"+mapValuesSet);
} private static void testArray2Set() { String[] arr = {"AA","BB","DD","CC","BB"}; //数组-->Set
Set<String> set = new HashSet<String>(Arrays.asList(arr));
System.out.println(set);
} private static void testSet2Array() {
Set<String> set = new HashSet<String>();
set.add("AA");
set.add("BB");
set.add("CC"); String[] arr = new String[set.size()];
//Set-->数组
set.toArray(arr);
System.out.println(Arrays.toString(arr));
} private static void testList2Set() { List<String> list = new ArrayList<String>();
list.add("ABC");
list.add("EFG");
list.add("LMN");
list.add("LMN"); //List-->Set
Set<String> listSet = new HashSet<String>(list);
System.out.println(listSet);
} private static void testSet2List() { Set<String> set = new HashSet<String>();
set.add("AA");
set.add("BB");
set.add("CC"); //Set --> List
List<String> setList = new ArrayList<String>(set);
System.out.println(setList);
} private static void testList2Array() {
//List-->数组
List<String> list = new ArrayList<String>();
list.add("AA");
list.add("BB");
list.add("CC");
Object[] objects = list.toArray();//返回Object数组
System.out.println("objects:"+Arrays.toString(objects)); String[] arr = new String[list.size()];
list.toArray(arr);//将转化后的数组放入已经创建好的对象中
System.out.println("strings1:"+Arrays.toString(arr));
} private static void testArray2List() {
//数组-->List
String[] ss = {"JJ","KK"};
List<String> list1 = Arrays.asList(ss);
List<String> list2 = Arrays.asList("AAA","BBB");
System.out.println(list1);
System.out.println(list2);
} }
Java 集合转换(数组、List、Set、Map相互转换)的更多相关文章
- JAVA 集合List,数组,Set,Map,直接的相互转换
Java集合转换[List<-->数组.List<-->Set.数组<-->Set.Map-->Set.Map-->List] //List--> ...
- Java 集合转换(数组、List、Set、Map相互转换)
转自:http://blog.csdn.net/top_code/article/details/10552827 package com.example.test; import java.util ...
- Java集合中List,Set以及Map等集合体系详解
转载请注明出处:Java集合中List,Set以及Map等集合体系详解(史上最全) 概述: List , Set, Map都是接口,前两个继承至collection接口,Map为独立接口 Set下有H ...
- Java集合和数组的区别
参考:Java集合和数组的区别 集合和容器都是Java中的容器. 区别 数组特点:大小固定,只能存储相同数据类型的数据 集合特点:大小可动态扩展,可以存储各种类型的数据 转换 数组转换为集合: A ...
- Java集合(十)实现Map接口的HashMap
Java集合(十)继承Map接口的HashMap 一.HashMap简介(基于JDK1.8) HashMap是基于哈希表(散列表),实现Map接口的双列集合,数据结构是“链表散列”,也就是数组+链表 ...
- java集合与数组之间转换
数组转换为集合 采用java中集合自带的asList()方法就可以完成转换了 String[] array = new String[] {"zhu", "wen&quo ...
- java 集合与数组的互转方法,与源码分析
前言 java数组与集合需要互相转换的场景非常多,但是运用不好还是容易抛出UnSupportedOperationException.下面讲解一下互转的方法,以及结合源码分异常产生的原因 集合转数组 ...
- Java集合——List,Set,Map总结笔记
1. 集合 Collection 1.1 Java 集合框架 Java 集合框架位于 java.util 包中.Java 集合框架主要包括两种类型的容器,一种是集合(C ...
- Java 集合基础知识 List/Set/Map
一.List Set 区别 List 有序,可重复: Set 无序,不重复: 二.List Set 实现类间区别及原理 Arraylist 底层实现使用Object[],数组查询效率高 扩容机制 ...
随机推荐
- 由group by引发的sql_mode的学习
前言 在一次使用group by查询数据库时,遇到了问题.下面先搭建环境,然后让问题复现,最后分析问题. 一 问题复现 mysql版本 建表插入数据 表的结构 现在问题来了:我想查询上面表中每个部门年 ...
- Nginx总结(一)Linux下如何安装Nginx
以前写过一些Nginx的文章,但都是用到什么说什么,没有一个完整系统的总结.趁最近有时间,打算将Nginx相关的内容重新整理一下.nginx系列文章地址如下:https://www.cnblogs.c ...
- mybatis 源码分析(五)Interceptor 详解
本篇博客将主要讲解 mybatis 插件的主要流程,其中主要包括动态代理和责任链的使用: 一.mybatis 拦截器主体结构 在编写 mybatis 插件的时候,首先要实现 Interceptor 接 ...
- 如何运用PHP+REDIS解决负载均衡后的session共享问题
一.为什么要使用Session共享? 稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即一套用户名.密码在整个网站的 ...
- 设计模式(C#)——04原型模式
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 在软件开发过程中,我们习惯使用new来创建对象.但是当我们创建一个实例的过程很昂贵或者很复杂,并且需要创建多个这样的 ...
- Python爬虫爬取全书网小说,程序源码+程序详细分析
Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...
- 你绝对不知道的head标签
先来梳理一下本文的目录结构 现在我将详解head标签和它六个子标签的属性和作用,请耐心看完,会有很大的收获哦! 一.head标签 可选属性: 属性 值 描述 profile URL 一个由空格分隔的 ...
- Oracle - Sequences
创建计数器 --最小值1,最大值999999999999999999999999999,从1开始,每次自增1,缓存20 --SQL语句: -- Create sequence create seque ...
- SpringMVC整合Apache Shiro
关于什么是Shiro,可以查看这篇文章http://www.cnblogs.com/Laymen/articles/6117751.html 一.添加maven依赖 <dependency> ...
- Codeforces Round #506 (Div. 3) 1029 F. Multicolored Markers
CF-1029F 题意: a,b个小正方形构造一个矩形,大小为(a+b),并且要求其中要么a个小正方形是矩形,要么b个小正方形是矩形. 思路: 之前在想要分a,b是否为奇数讨论,后来发现根本不需要.只 ...