9个java数组常用操作实例

数组的特点:

数组是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来唯一确定数组中的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。

总的来说,数组具有以下特点:

  • 数组可以是一维数组、二维数组或多维数组。
  • 数值数组元素的默认值为 0,而引用元素的默认值为 null。
  • 交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null。交错数组元素的维度和大小可以不同。
  • 数组的索引从 0 开始,如果数组有 n 个元素,那么数组的索引是从 0 到(n-1)。
  • 数组元素可以是任何类型,包括数组类型。
  • 数组类型是从抽象基类 Array 派生的引用类型。

定义数组有三种方法。

  1. 第一种是定义了一个数组,并且指定了数组的长度,我们这里称它为动态定义。
  2. 第二种是直接初始化数组内容
  3. 第三种在分配内存空间的同时还初始化了值。

一、定义一个Java数组

String[] aArray = new String[5];

String[] bArray = {"a","b","c", "d", "e"};

String[] cArray = new String[]{"a","b","c","d","e"};

二、打印Java数组中的元素

Java中数组的引用和值得区别,第三行直接打印intArray,输出的是乱码,因为intArray仅仅是一个地址引用。第4行输出的则是真正的数组值,因为它经过了Arrays.toString()的转化。对Java初学者来说,引用和值仍需重视。

int[] intArray = { 1, 2, 3, 4, 5 };

String intArrayString = Arrays.toString(intArray);

// print directly will print reference value

System.out.println(intArray); // [I@7150bd4d

System.out.println(intArrayString); // [1, 2, 3, 4, 5]

三、从Array中创建ArrayList

为什么要将Array转换成ArrayList呢?可能是因为ArrayList是动态链表,我们可以更方便地对ArrayList进行增删改,我们并不需要循环Array将每一个元素加入到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]

四、检查数组中是否包含某一个值

先使用Arrays.asList()将Array转换成List<String>,这样就可以用动态链表的contains函数来判断元素是否包含在链表中。

String[] stringArray = { "a", "b", "c", "d", "e" };

boolean b = Arrays.asList(stringArray).contains("a");

System.out.println(b); // true

五、连接两个数组

ArrayUtils是Apache提供的数组处理类库,其addAll方法可以很方便地将两个数组连接成一个数组。

int[] intArray = { 1, 2, 3, 4, 5 };

int[] intArray2 = { 6, 7, 8, 9, 10 };

// Apache Commons L

int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);

六、将数组中的元素以字符串的形式输出

同样利用StringUtils中的join方法,可以将数组中的元素以一个字符串的形式输出。

// containing the provided list of elements

// Apache common lang

String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");

System.out.println(j);

// a, b, c

七、将Array转化成Set集合

在Java中使用Set,可以方便地将需要的类型以集合类型保存在一个变量中,主要应用在显示列表。同样可以先将Array转换成List,然后再将List转换成Set。

Set<String> set = new HashSet<String>(Arrays.asList(stringArray));

System.out.println(set); //[d, e, b, c, a]

八、数组翻转

使用Apache的ArrayUtils工具类中的.reverse()方法数组反转方法。也可以指定开始和结束的反转位置。

int[] intArray = { 1, 2, 3, 4, 5 };

ArrayUtils.reverse(intArray);

System.out.println(Arrays.toString(intArray));  //[5, 4, 3, 2, 1]

九、从数组中移除一个元素

使用Apache的ArrayUtils工具类中的removeElement()方法从该数组中删除第一次出现的指定元素,返回一个新的数组

int[] intArray = { 1, 2, 3, 4, 5 };

int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array

System.out.println(Arrays.toString(removed));
(0)

相关推荐

  • Java数组实例练习题整理

    初级 1.定义一个函数,获取某个数组中的最小值 package practise; public class GetMin { public static void getMin(int[]num){ int min = num[0]; for(int i=0;i<num.length;i++){ min=(num[i]<min?num[i]:min); } System.*out*.print(min); } public static void main(String[] args){ i

  • java二维数组遍历的2种代码

    二维数组遍历: 思想: 1.先将二维数组中所有的元素拿到 2.再将二维数组中每个元素进行遍历,相当于就是在遍历一个一维数组 第一种方法:双重for循环 //遍历二维数组 public class Traverse_a_two_dimensional_array { public static void main(String[] args) { // TODO Auto-generated method stub int[][] arr = new int[2][3];//动态创建:2个元素(外

  • java数组的初始化及操作详解

    数组的基本概念 如果说现在要求你定义100个整型变量,那么如果按照之前的做法,可能现在定义的的结构如下: int i1, i2, i3, ... i100; 但是这个时候如果按照此类方式定义就会非常麻烦,因为这些变量彼此之间没有任何的关联,也就是说如果现在突然再有一个要求,要求你输出这100个变量的内容,意味着你要编写System.out.println()语句100次. 其实所谓的数组指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作.数组本身属于引用数据类型,那么既然是引

  • Java使用反射操作数组示例

    本文实例讲述了Java使用反射操作数组.分享给大家供大家参考,具体如下: 一 实战 1 代码 import java.lang.reflect.*; public class ArrayTest1 { public static void main(String args[]) { try { // 创建一个元素类型为String ,长度为10的数组 Object arr = Array.newInstance(String.class, 10); // 依次为arr数组中index为5.6的元

  • 最简单易懂的java数组排序方法整理

    前言 JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法.本文就给大家介绍了关于最简单易懂的java数组排序方法,下面话不多说了,来一起看看详细的介绍吧 方法如下: 1.快速排序:首先是最简单的Array.sort,直接进行排序: public static void main(String[] args) { int[] arr = {4,3,5,1,7,9,3}; Arrays.sort(arr); for (int i : arr){ Syste

  • 9个java数组常用操作实例

    数组的特点: 数组是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来唯一确定数组中的元素.根据数组的维度,可以将其分为一维数组.二维数组和多维数组等. 总的来说,数组具有以下特点: 数组可以是一维数组.二维数组或多维数组. 数值数组元素的默认值为 0,而引用元素的默认值为 null. 交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null.交错数组元素的维度和大小可以不同. 数组的索引从 0 开始,如果数组有 n

  • Java数组常用排序算法实例小结

    本文实例讲述了Java数组常用排序算法.分享给大家供大家参考,具体如下: 1.冒泡排序法 SortArray_01.java public class SortArray_01 { public static void main(String args[]) { int[] array = { 14, 5, 86, 4, 12, 3, 21, 13, 11, 2, 55, 66, 22 }; // 创建一个初始化的一维数组array System.out.println("未排序的数组:&quo

  • java基础之数组常用操作总结(必看篇)

    常用的对数组进行的操作 1.求数组中最大值,最小值 思路:假设下标为0的元素是最大值,遍历数组,依次跟max进行比较,如果有元素比这个max还大,则把这个值赋给max.最小值同样 public class TestArray{ public static void main(String[] args){ int[] arr={23,45,234,576,34,87,34,12,67}; int max=arr[0]; int min=arr[0]; for(int i=0;i<arr.leng

  • java数组及arrays类对数组的操作实例

    数组的初始化有两种方式 静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度.如: int[] a1 = new int[] {1,2,3,4}; 动态初始化:初始化时由程序员只指定数组长度,由系统为数组元素分配初始值.如: int[] a = new int[5]; 写一个类测试一下 package chenlizhi; import java.util.Arrays; public class TestArrays { public static void main(S

  • Java数组越界问题实例解析

    Java中数组初始化和OC其实是一样的,分为动态初始化和静态初始化, 动态初始化:指定长度,由系统给出初始化值 静态初始化:给出初始化值,由系统给出长度 在我们使用数组时最容易出现的就是数组越界问题,好了,这里有个简单的例子 int [][] array = {{1,2,3},{1,4}}; System.out.println(array[1][2]); 这是一个二维数组,很明显,数组越界了,控制台中会打印如下信息: Exception in thread "main" java.l

  • java泛型常用通配符实例解析

    这篇文章主要介绍了java泛型常用通配符实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天在看ArrayList原码是看到这样的一个符号,好奇怪. ?表示通配符,表示的意思是匹配E或E的子类,具体类型未知. 1.限定通配符 编写一个类似于ArrayList的动态数据 public class Gys<T> { private final static int default_capacity =10; private int end

  • JS根据json数组多个字段排序及json数组常用操作

    js 根据json数组多个字段排序的实现代码如下所示: /**数组根据数组对象中的某个属性值进行排序的方法 * 使用例子:newArray.sort(sortByArr(['number'],false)) //表示根据number属性降序排列;若第二个参数不传递,默认表示升序排序 * @param attr 排序的属性 ['name','sex'...],根据一个字段或者多个字段排序 * @param rev true表示升序排列,false降序排序 * */ function sortByA

  • Python列表切片常用操作实例解析

    这篇文章主要介绍了Python列表切片常用操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近在爬一个网站的文档的时候,老师要求把一段文字切割开来,根据中间的文本分成两段 故学习了一段时间的切片操作,现把学习成果po上来与大家分享 1.何为切片? 列表的切片就是处理列表中的部分元素,是把整个列表切开的方法. 切片可以说是整个列表中的重点内容,相信你在以后的Python项目中会经常使用到. 它的语法是: 2.简单介绍切片的几个常见操作

  • array_values()在php中返回数组的操作实例

    在对数组的一些操作上,有些人对于键值方面不太理解.为了方便大家能够更好地对一些值进行返回,本篇带来了array_values() 函数进行介绍,使用后能直接返回数组.下面我们就array_values()函数的定义.语法.参数.返回值.实例进行介绍,一起都来看看返回数组的方法吧. 1.定义 array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名. 2.语法 array_values(array) 3.参数 array 4.返回值 返回包含数组中所有的值的数组. 5.

  • JavaScript数组常用操作技巧汇总

    本文实例汇总了JavaScript数组的常用操作技巧.分享给大家供大家参考.具体如下: 前言 相信大家都用惯了jquery或者underscore等这些类库中常用的数组相关的操作,如$.isArray,_.some,_.find等等方法.这里无非是对原生js的数组操作多了一些包装. 这里主要汇总一下JavaScript数组操作的常用API.相信对大家解决程序问题很有帮助. 一.性质 JavaScript中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数.然而,这些数字索

随机推荐