创建数组的三种方法
int [] vec = { 37 , 47 , 23 } ; 静态初始化(只能用在声明数组变量时候同时初始化)
int [] vec = new int [] {1, 5, 3}; 动态初始化
int [] vec = new int [3]; //自动赋“0”值[ 0, 0, 0 ] 动态初始化
vec[0]=1; //修改数组的值
vec[1]=2;
vec[2]=3;
"零"值包括:0(整型)、0.0(浮点型)、 \u0000(char)、false(boolean)、null(引用类型)
数组的方法
集合(ArrayList)-------〉数组
String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList); //[a, b, c, d, e]
String[] stringArr = new String[arrayList.size()];
arrayList.toArray(stringArr);
for (String s : stringArr) {System.out.print(s); } //abcde
数组-------〉集合(ArrayList)
List<T> list =Arrays .asList(数组或逗号分隔的元素列表);
Integer[] ary1= new Integer[]{1,2,3,}; //基本类型要用包装类型
List<Integer> list= Arrays.asList(ary1);
List<Integer> list= Arrays.asList(1,2,3);
String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList); //[a, b, c, d, e]
数组--------〉集合(set)
String[] stringArray = { "a", "b", "c", "d", "e" };
Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
System.out.println(set); //[d, e, b, c, a]
整数数组------〉字节数组
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();
for (byte t : bytes) {
System.out.format("0x%x ", t);
}
数组排序
Arrays.sort(数组 ) (适用于各种类型数组,升序排序)
Arrays.sort(数组 ,排序开始下标,排序结束下标)
数组填充
Arrays.equals(数组 , 填充的值) (适用于各种类型数组) //用指定值填充数组元素
Arrays.equals(数组 ,填充开始下标,填充结束下标, 填充的值)
查找数组元素
int a=Arrays.binarySearch(数组,数组的某元素); //查找指定数组里的元素,获取该元素的下标值(需要先排序)
int a=Arrays.binarySearch(数组,查询开始下标,查询结束下标,数组的某元素);
数组比较
Boolean boolean= Arrays.equals(数组 1 , 数组 2) (适用于各种类型数组)
注意:相同数量、相同顺序的元素;或者都为 null 则相等
检查一个数组是否包含某个值
String[] stringArray = { "a", "b", "c", "d", "e" };
Boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b); //true
数组复制
1、for循环
int [] ary1= new int []{1,2,3,};
int [] ary2= new int [ary1.length];
for(int i=0; i<ary1.length; i++){
ary2 [i] =ary [i];
}
2、System.arraycopy(源数组, 源数组复制的起始下标,目标数组,目标数组粘贴的起始下标,复制长度)
用 C++写的,所以速度非常快,比 for()循环实现数组拷贝效率要高很多
int [] ary1= new int []{1,2,3,};
int [] ary2= new int [3];
System.arraycopy(ary1, 0, ary2, 0, ary1.length)
System.out.print(Arrays.toString(ary2));
3、Arrays.copyOf(复制的数组 , 创建新数组的长度)JDK 版本必须是 1.6 及以上(适用于各种类型数组)
int [] ary1= new int []{1,2,3,};
int [] ary2= Arrays.copyOf(ary1, ary1.length); // ary2= [1 ,2,3]
int [] ary3= Arrays.copyOf(ary1, 5); // ary2= [1 ,2,3,0,0]
System.out.print(Arrays.toString(ary2));
4、Arrays.copyOfRange(复制的数组 , 复制的起始下标,复制的结束下标)JDK 版本必须是 1.6 及以上(适用于各种类型数组)
注意:起始下标包括在内,结束下标可 > 复制数组长度 ;返回一个新数组超出源数组的长度用相应类型的默认值填补
输出一个数组
各种数组的输出形式:
char[] ch = {'中' ,'国'}; System.out.println(ch); //北京,以字符串形式输出
int[] in = {1 ,2}; System.out.println(in); //..@.. 输出数组对象的内存地址
String[] str={"中" ,"国"} ; System.out.println(str); //..@.. 输出数组对象的内存地址
1、for循环输出
2、Arrays.toString() (适用于各种类型数组) //数组的字符串形式输出
char[] ch = {'中' ,'国'}; System.out.println(Arrays.toString(ch)); // [北 ,京]
int[] in = {1 ,2}; System.out.println(Arrays.toString(in)); // [1 ,2]
String[] str={"中" ,"国"} ; System.out.println(Arrays.toString(str)); // [北 ,京]
连接两个数组
int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
数组 反转
int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(intArray)); //[5, 4, 3, 2, 1]
移除数组中的元素
int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array
System.out.println(Arrays.toString(removed));
相关推荐
定义数组scores并赋值56,90,34,20,统计出最高分,最低分,平均分
java-c语法8---数组的数组1 java视频 马克java社区 马克towin
java语法 数组 马克-to-win java视频 array 的详细介绍
java语法 非矩形数组 马克-to-win java视频 二重循环
Educoder题目:Java入门 - 数组进阶答案解析
本教程“02-Java基础(数组-常见操作-遍历)”将深入讲解Java数组的概念、创建、初始化以及如何进行遍历等核心知识点。 首先,数组是存储同一类型元素的固定大小的集合。在Java中,数组的声明语法如下: ```java 数据...
Java-笔记-数组和排序-全
数组 - 需要参加面试的人
本教程将深入探讨Java中的数组、方法以及面向对象编程的基础概念,为初学者提供一个全面的学习指南。 一、数组 数组在Java中是存储同一类型数据的集合,可以看作是一个可变大小的容器。数组的定义和初始化通常包含...
4.java-数组
Java数组实验 本实验的主要目的是掌握数组相关常用算法和方法的定义和调用。通过本实验,学生将学习如何使用Java语言生成随机整数数组,并将其写入文本文件中。同时,学生还将学习如何从文本文件中读取数据并将其...
### Java数组深度解析 在Java编程语言中,数组是一种非常基础且重要的数据结构,它能够存储固定数量的同类型元素。对于初学者来说,经常会听到这样一句话:“Java是一门纯粹的面向对象的语言,其数组也是一种对象。...
Educoder题目:Java入门 - 数组基础答案解析
内容概要:通过带着读者编写Java基础语法测试代码,理解基础数据类型-注解-数组-inet-反射-oop-Java代码实现过程和测试代码 适合人群:初学java语法入门测试代码 能学到什么:①注解、数组、数据类型、inet、method...
.java文件,对java基础的数组部分的进制类型转换部分的说明。
螺旋数组的java实现-----------------------------------------------------------------------------------------------------------
在Java编程语言中,数组是一种特殊的数据结构,用于存储同一类型的数据集合。在这个文档中,我们专注于一维数组的实例,主要探讨了如何创建、初始化和输出一维数组的元素。以下是详细的知识点解析: 1. **数组声明*...
在这个主题“07-Java基础(数组-常见问题)”中,我们将深入探讨数组在Java编程中的一些常见问题及其解决方案。 1. **数组的声明与初始化** 在Java中,数组的声明分为声明类型和变量名,以及指定数组长度两个步骤。...
给定一个整形数组和一个数字s,找到数组中最短的一个连续子数组,使得连续子数组的数字和sum>=s,返回这个最短的连续子数组的长度值public int minS
JAVA语言的一个知识点,为您提供的一点小资料,谢谢采纳!!!