JAVA List合并集合
import java.util.ArrayList;
import java.util.List; public class test {
public static void main(String[] args) throws Exception {
/*测试合并两个类型相同的list*/
List<String> list1 = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();
//给list1赋值
list1.add("测");
list1.add("试");
list1.add("一");
list1.add("下");
//给list2赋值
list2.add("合");
list2.add("并");
list2.add("列");
list2.add("表");
//将list1.list2合并
list1.addAll(list2);
//循环输出list1 看看结果
for (String s : list1) {
System.out.print(s);
}
}
}
需求:两个字符串合并(如果想去重复,参考下一篇--数组去重复及记录重复个数)
//方法一 Arrays类
String[] a = {"A","B","C"};
String[] b = {"D","E"};
// List<String> list = Arrays.asList(a); --OK
// List<String> list = Arrays.asList("A","B","C"); --OK
// list.add("F"); --UnsupportedOperationException
// list.remove("A"); --UnsupportedOperationException
// list.set(1,"javaee");--OK (因为是把数组转为集合,其本质还是数组,数组长度固定不变,但内容可以改变)
// 结论:虽然可以把数组转为集合,但是集合长度不能改变 List list = new ArrayList(Arrays.asList(a));
list.addAll(Arrays.asList(b));
String[] str = new String[list.size()];
list.toArray(str);
for(int x=0;x<str.length;x++){
System.out.print(str[x] + " ");
}
//方法二 循环遍历
// 两个数组合并
String[] str1 = {"Hello","world","java"};
String[] str2 = {"Veriable","syntax","interator"};
String[] newStr = new String[str1.length+str2.length];
//newStr = str1;数组是引用类型
for(int x=0;x<str1.length;x++){
newStr[x] = str1[x];
}
for(int y=0;y<str2.length;y++){
newStr[str1.length+y]=str2[y];
}
for(int y=0;y<newStr.length;y++){
System.out.println(newStr[y] + " ");
}
// 方法三
String[] str1 = {"Hello","world","java"};
String[] str2 = {"Veriable","syntax","interator"};
int str1Length = str1.length;
int str2length = str2.length; str1 = Arrays.copyOf(str1, str1Length+str2length);//数组扩容
System.arraycopy(str2, 0, str1, str1Length, str2length);
System.out.println(Arrays.toString(str1));
java求两个集合的交集和并集
java如何求两个集合的交集和并集呢??其实java的API中已经封装了方法。今天写个简单的例子测试一下:(例子中以java.util.LinkedList为例)
求连个集合的交集:
import java.util.ArrayList;
import java.util.List;
public class TestCollection {
public static void main(String[] args) {
List<String> strList = new ArrayList<String>();
List<String> strList2 = new ArrayList<String>();
for(int i = 0; i < 10; i ++) {
strList.add("aaa>>" + i);
strList2.add("aaa>>" + (10 - i));
}
//求出交集
strList2.retainAll(strList);
System.out.println("交集大小:" + strList2.size());
for(int i = 0; i < strList2.size(); i++) {
System.out.println(strList2.get(i));
}
}
}
求两个集合的并集:
import java.util.ArrayList;
import java.util.List;
public class TestCollection {
public static void main(String[] args) {
List<String> strList = new ArrayList<String>();
List<String> strList2 = new ArrayList<String>();
for(int i = 0; i < 10; i ++) {
strList.add("aaa>>" + i);
strList2.add("aaa>>" + (10 - i));
}
//求出并集
strList2.removeAll(strList);
strList2.addAll(strList);
System.out.println("并集大小:" + strList2.size());
for(int i = 0; i < strList2.size(); i++) {
System.out.println(strList2.get(i));
}
}
}
java 使用map返回多个对象组装
Object json=JSONObject.fromObject("{}");
List<Object> list = new ArrayList<Object>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
List<Object> result = new ArrayList<Object>();
Map<String, Object> map = new HashMap<String, Object>();
for(Object str :list){
map.put("name", str);
map.put("age", str);
result.add(map);
}
JSONArray arr=JSONArray.fromObject(result);
if(arr!=null){
json=arr;
}
System.out.println(arr);
输出值格式为:[{"age":"6","name":"6"},{"age":"6","name":"6"},{"age":"6","name":"6"},{"age":"6","name":"6"},{"age":"6","name":"6"},{"age":"6","name":"6"}]
JAVA List合并集合的更多相关文章
- JAVA:三种集合LIST、SET、MAP
1. 集合框架介绍 我 们知道,计算机的优势在于处理大量的数据,在编程开发中,为处理大量的数据,必须具备相应的存储结构,数组可以用来存储并处理大量类型相同的数 据,但是会发现数组在应用中的限制:数组长 ...
- Java 中的集合接口——List、Set、Map
Java 中的集合接口——List.Set.Map 什么叫集合:集合就是Java API所提供的一系列类的实例,可以用于动态存放多个对象.这跟我们学过的数组差不多,那为什么我们还要学集合,我们看看数组 ...
- Java中的集合框架
概念与作用 集合概念 现实生活中:很多事物凑在一起 数学中的集合:具有共同属性的事物的总体 java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象 在编程时,常常需要集中存放多 ...
- 实现java 中 list集合中有几十万条数据,每100条为一组取出
解决"java 中 list集合中有几十万条数据,每100条为一组取出来如何实现,求代码!!!"的问题. 具体解决方案如下: /** * 实现java 中 list集合中有几十万条 ...
- Java Hour 13 集合基础
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为13 Hour,请各位不吝赐教. Java 中的集 ...
- java中对集合对象list的几种循环访问
java中对集合对象list的几种循环访问的总结如下 1 经典的for循环 public static void main(String[] args) { List<String> li ...
- 菜鸟日记之 java中的集合框架
java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterat ...
- C#与java中的集合区别
集合一般的操作 插入: add 删除: remove 查找: contains,remove java中的集合 注意哪些是接口,哪些是实现类 使用集合的时候 1. ...
- Java基础--说集合框架
版权所有,转载注明出处. 1,Java中,集合是什么?为什么会出现? 根据数学的定义,集合是一个元素或多个元素的构成,即集合一个装有元素的容器. Java中已经有数组这一装有元素的容器,为什么还要新建 ...
随机推荐
- golang channel几点总结
golang提倡使用通讯来共享数据,而不是通过共享数据来通讯.channel就是golang这种方式的体现. Channel 在golang中有两种channel:带缓存的和不带缓存. 带缓存的cha ...
- Keras/Tensorflow训练逻辑研究
Keras是什么,以及相关的基础知识,这里就不做详细介绍,请参考Keras学习站点http://keras-cn.readthedocs.io/en/latest/ Tensorflow作为backe ...
- MMCM与PLL
MMCM与PLL 1.the clock management title(CMT) 弄清楚BUFR, IBUFG,BUFG,GT,BUFH,是什么. 2.MMCM内部结构 3.PLL内部结构 4 ...
- 小数据量的Key-Value查找类的实现
平时写程序时经常要把一些Key与Value保存起来,但一般数据量都不大,故不想用TStringHash来做.而用TStringList来做,还要写一个"=",挺别扭!而且数据类型还 ...
- 使用C#调用PI-SDK进行基于PI的开发
一.概述 PI-SDK(Plant Information Software Develop Kit)是OSI公司提供的基于面向对象的访问PI数据库的软件开发工具包,它可以对以下数据库进行读写: ² ...
- HBase教程
https://www.yiibai.com/hbase/ 自1970年以来,关系数据库用于数据存储和维护有关问题的解决方案.大数据的出现后,好多公司实现处理大数据并从中受益,并开始选择像 Hadoo ...
- Python入门 [输出,注释,列表,元祖,集合,字典,if,while,for]
print("Hello Python") #输出 ''' 多行注释 用 三个引号 ''' a=1 #赋值 变量首字母只能书字母下划线 第二个字符数字,字母,下划线 声明一个列表 ...
- javascript 判断是否移动客户端 userAgent isMobile
var isMobile = { Android: function () { return (/android/i.test(navigator.userAgent.toLowerCase())); ...
- PHP 下载中文乱码解决
利用 iconv() 函数解决乱码 $file_name = iconv("utf-8","gb2312",$file_name); 原文链接 http://m ...
- C/C++基础----关联容器
基本属性 与顺序容器的差别,按照关键字来保存和访问,而顺序容器是按照容器中的位置来顺序保存和访问. map:每个元素是一对键值(key-valye)组合:set每个元素只包含关键字.. 每个根据关键字 ...