Java中对Array数组的常用操作,交集并集合集!
来源:互联网 发布:怎么样能加入淘宝客 编辑:程序博客网 时间:2024/05/16 11:39
看到好的转来留着,随时学习。
目录:
- 声明数组;
- 初始化数组;
- 查看数组长度;
- 遍历数组;
- int数组转成string数组;
- 从array中创建arraylist;
- 数组中是否包含某一个值;
- 将数组转成set集合;
- 将数组转成list集合;
- Arrays.fill()填充数组;
- 数组排序;
- 复制数组;
- 比较两个数组;
- 去重复;
- 查询数组中的最大值和最小值;
- list的交集并集合集
备注:文内代码具有关联性。
1.声明数组;
String [] arr;
int
arr1[];
String[] array=
new
String[
5
];
int
score[]=
new
int
[
3
];
2.初始化数组;
//静态初始化
int
arr2[]=
new
int
[]{
1
,
2
,
3
,
4
,
5
};
String[] array1={
"马超"
,
"马云"
,
"关羽"
,
"刘备"
,
"张飞"
};
String[] array2=
new
String[]{
"黄渤"
,
"张艺兴"
,
"孙红雷"
,
"小猪"
,
"牙哥"
,
"黄磊"
};
int
score[]=
new
int
[
3
];
//动态初始化
for
(
int
i=
0
;i<score.length;i++)
{
score[i]=i+
1
;
}
3.查看数组长度;
int
length=array1.length;
System.out.println(
"length: "
+array1.length);
4.遍历数组;
for
(
int
i =
0
; i < array1.length; i++) {
System.out.println(array1[i]);
}
5.int数组转成string数组;
int
[] array3={
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
};
String arrStrings=Arrays.toString(array3);
System.out.println(arrStrings);
6.从array中创建arraylist;
ArrayList<String> arrayList=
new
ArrayList<String>(Arrays.asList(array1));
System.out.println(arrayList);
7.数组中是否包含某一个值;
String a=
"马超"
;
String[] array1={
"马超"
,
"马云"
,
"关羽"
,
"刘备"
,
"张飞"
};
if
(Arrays.asList(array1).contains(a)) {
System.out.println(
"马超在这里"
);
}
8.将数组转成set集合;
String[] array2=
new
String[]{
"黄渤"
,
"张艺兴"
,
"孙红雷"
,
"小猪"
,
"牙哥"
,
"黄磊"
};
Set<String> set=
new
HashSet<String>(Arrays.asList(array2));
System.out.println(set);
9.将数组转成list集合;
String[] array2=
new
String[]{
"黄渤"
,
"张艺兴"
,
"孙红雷"
,
"小猪"
,
"牙哥"
,
"黄磊"
};
//方法 1.
List<String> list=
new
ArrayList<String>();
for
(
int
i =
0
; i < array2.length; i++) {
list.add(array2[i]);
}
String[] arrStrings2={
"1"
,
"2"
,
"3"
};
//方法 2.
List<String > list2=java.util.Arrays.asList(arrStrings2);
System.out.println(list2);
10.Arrays.fill()填充数组;
int
[] arr3=
new
int
[
5
];
Arrays.fill(arr3,
10
);
//将数组全部填充10
//遍历输出
for
(
int
i =
0
; i < arr3.length; i++) {
System.out.println(arr3[i]);
}
11.数组排序;
//方法 1.
int
[] arr4 = {
3
,
7
,
2
,
1
,
9
};
Arrays.sort(arr4);
//.sort(int[] a) 放入数组名字
for
(
int
i =
0
; i < arr4.length; i++) {
System.out.println(arr4[i]);
}
//方法 2.
int
[] arr5 = {
3
,
7
,
2
,
1
,
9
,
3
,
45
,
7
,
8
,
8
,
3
,
2
,
65
,
34
,
5
};
Arrays.sort(arr5,
1
,
4
);
//.sort(a, fromIndex, toIndex) 从第几个到第几个之间的进行排序
for
(
int
i =
0
; i < arr5.length; i++) {
System.out.println(arr5[i]);
}
12.复制数组;
//方法 1.
int
[] arr6 = {
3
,
7
,
2
,
1
};
int
[] arr7=Arrays.copyOf(arr6,
10
);
//指定新数组的长度
//方法 2.
int
[] arr8=Arrays.copyOfRange(arr6,
1
,
3
);
//只复制从索引[1]到索引[3]之间的元素(不包括索引[3]的元素)
for
(
int
i =
0
; i < arr8.length; i++) {
System.out.println(arr8[i]);
}
13.比较两个数组;
int
[] arr9 = {
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
};
boolean
arr10=Arrays.equals(arr6, arr9);
System.out.println(arr10);
14.去重复;
int
[] arr11 = {
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
,
3
,
2
,
4
,
5
,
6
,
7
,
4
,
32
,
2
,
1
,
1
,
4
,
6
,
3
};
//利用set的特性
Set<Integer> set2=
new
HashSet<Integer>();
for
(
int
i =
0
; i < arr11.length; i++) {
set2.add(arr11[i]);
}
System.out.println(set2);
int
[] arr12 =
new
int
[set2.size()];
int
j=
0
;
for
(Integer i:set2) {
arr12[j++]=i;
}
System.out.println(Arrays.toString(arr12));
15.查询数组中的最大值和最小值;
int
[] arr11 = {
10
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
,
3
,
2
,
4
,
5
,
6
,
7
,
4
,
32
,
2
,
1
,
1
,
4
,
6
,
3
};
//计算最大值
int
max = arr11[
0
];
for
(
int
i =
1
; i < arr11.length; i++) {
if
(arr11[i] > max) {
max = arr11[i];
}
}
System.out.println(
"Max is "
+ max);
//计算最小值
int
min = arr11[
0
];
for
(
int
i =
0
; i < arr11.length; i++) {
if
(arr11[i]<min) {
min = arr11[i];
}
}
System.out.println(
"Min is "
+ min);
附:完整代码:
package
MyTest01;
import
java.util.*;
public
class
ArrayTest02 {
public
static
void
main(String[] args) {
//声明数组
String [] arr;
int
arr1[];
//初始化数组
int
arr2[]=
new
int
[]{
1
,
2
,
3
,
4
,
5
};
String[] array1={
"马超"
,
"马云"
,
"关羽"
,
"刘备"
,
"张飞"
};
String[] array2=
new
String[]{
"黄渤"
,
"张艺兴"
,
"孙红雷"
,
"小猪"
,
"牙哥"
,
"黄磊"
};
String[] array=
new
String[
5
];
//查看数组的长度
int
length=array1.length;
System.out.println(
"length: "
+array1.length);
//输出数组
// System.out.println(array1); //结果:[Ljava.lang.String;@32f22097
System.out.println(
"arr2: "
+Arrays.toString(arr2));
//遍历数组
for
(
int
i =
0
; i < array1.length; i++) {
// System.out.println(array1[i]);
}
//int数组转成string数组
int
[] array3={
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
};
String arrStrings=Arrays.toString(array3);
// System.out.println(arrStrings);
//从array中创建arraylist
ArrayList<String> arrayList=
new
ArrayList<String>(Arrays.asList(array1));
System.out.println(arrayList);
//数组中是否包含某一个值
String a=
"马超"
;
if
(Arrays.asList(array1).contains(a)) {
System.out.println(
"马超在这里"
);
}
//将数组转成set集合
Set<String> set=
new
HashSet<String>(Arrays.asList(array2));
System.out.println(set);
//将数组转成list集合
List<String> list=
new
ArrayList<String>();
for
(
int
i =
0
; i < array2.length; i++) {
list.add(array2[i]);
}
String[] arrStrings2={
"1"
,
"2"
,
"3"
};
List<String > list2=java.util.Arrays.asList(arrStrings2);
System.out.println(list2);
//Arrays.fill()填充数组
int
[] arr3=
new
int
[
5
];
Arrays.fill(arr3,
10
);
//将数组全部填充10
for
(
int
i =
0
; i < arr3.length; i++) {
System.out.println(arr3[i]);
}
//数组排序
int
[] arr4 = {
3
,
7
,
2
,
1
,
9
};
Arrays.sort(arr4);
for
(
int
i =
0
; i < arr4.length; i++) {
System.out.println(arr4[i]);
}
int
[] arr5 = {
3
,
7
,
2
,
1
,
9
,
3
,
45
,
7
,
8
,
8
,
3
,
2
,
65
,
34
,
5
};
Arrays.sort(arr5,
1
,
4
);
//从第几个到第几个之间的进行排序
for
(
int
i =
0
; i < arr5.length; i++) {
System.out.println(arr5[i]);
}
//复制数组
int
[] arr6 = {
3
,
7
,
2
,
1
};
int
[] arr7=Arrays.copyOf(arr6,
10
);
//指定新数组的长度
int
[] arr8=Arrays.copyOfRange(arr6,
1
,
3
);
//只复制从索引[1]到索引[3]之间的元素(不包括索引[3]的元素)
for
(
int
i =
0
; i < arr8.length; i++) {
System.out.println(arr8[i]);
}
//比较两个数组
int
[] arr9 = {
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
};
boolean
arr10=Arrays.equals(arr6, arr9);
System.out.println(arr10);
//去重复
//利用set的特性
int
[] arr11 = {
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
,
3
,
2
,
4
,
5
,
6
,
7
,
4
,
32
,
2
,
1
,
1
,
4
,
6
,
3
};
Set<Integer> set2=
new
HashSet<Integer>();
for
(
int
i =
0
; i < arr11.length; i++) {
set2.add(arr11[i]);
}
System.out.println(set2);
int
[] arr12 =
new
int
[set2.size()];
int
j=
0
;
for
(Integer i:set2) {
arr12[j++]=i;
}
System.out.println(Arrays.toString(arr12));
}
}
package
MyTest01;
public
class
ArrayTest03 {
public
static
void
main(String[] args) {
int
[] arr11 = {
10
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
,
3
,
2
,
4
,
5
,
6
,
7
,
4
,
32
,
2
,
1
,
1
,
4
,
6
,
3
};
//计算最大值
int
max = arr11[
0
];
for
(
int
i =
1
; i < arr11.length; i++) {
if
(arr11[i] > max) {
max = arr11[i];
}
}
System.out.println(
"Max is "
+ max);
//计算最小值
int
min = arr11[
0
];
for
(
int
i =
0
; i < arr11.length; i++) {
if
(arr11[i]<min) {
min = arr11[i];
}
}
System.out.println(
"Min is "
+ min);
}
}
16.list的交集并集合集
package com;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test {
public static void main(String[] args) {
List list1 =new ArrayList();
list1.add("1111");
list1.add("2222");
list1.add("3333");
List list2 =new ArrayList();
list2.add("3333");
list2.add("4444");
list2.add("5555");
//并集
//list1.addAll(list2);
//交集
//list1.retainAll(list2);
//差集
//list1.removeAll(list2);
//无重复并集
list2.removeAll(list1);
list1.addAll(list2);
Iterator<String> it=list1.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
//System.out.println("-----------------------------------\n");
//printStr(list1);
}
public static void printStr(List list1){
for (int i = 0; i < list1.size(); i++) {
System.out.println(list1.get(i));
}
}
}
- Java中对Array数组的常用操作,交集并集合集!
- Java中对Array数组的常用操作
- Java中对Array数组的常用操作
- Java中对Array数组的常用操作
- Java中对Array数组的常用操作
- java guava 集合的操作:交集、差集、并集
- 对Java中常用集合的操作
- java集合操作-----求两个集合的交集和并集
- Java学习之训练---求数组的交集、并集以及只在A数组中出现的子串集合
- Java中对集合的并,交,联集,差操作
- ES6 操作数组的并集/交集/差集
- java集合的交集,并集,差集
- java求两个集合的交集和并集
- java求两个集合的交集和并集
- Java中取多个集合的交集和并集
- Java求多个集合的交集和并集
- Java中对List集合的常用操作
- Java中对List集合的常用操作
- 数组的本质分析
- JavaScript高级程序设计(第3版)笔记(四)
- FPGA基础-异步复位,同步释放
- ubuntu下mysql出现 warning: Changed limits: max_connections: 214 问题
- bingo小游戏(圈圈叉叉小游戏)python
- Java中对Array数组的常用操作,交集并集合集!
- php 在LINUX下创建目录失败的解决方法
- Python语言入门(六)关键字参数与命名关键字参数
- 【Java并发学习】之原子类
- Android Studio NDK 入门教程(1)--来自C 语言的String
- 结合redis设计与实现的redis源码学习-15-TCP网络连接(anet.c)
- POJ
- pandas基础
- java实现多文件压缩打包