当前位置: 首页 > 编程笔记 >

Java二维数组与动态数组ArrayList类详解

申屠泉
2023-03-14
本文向大家介绍Java二维数组与动态数组ArrayList类详解,包括了Java二维数组与动态数组ArrayList类详解的使用技巧和注意事项,需要的朋友参考一下

Java二维数组

Java 语言中提供的数组是用来存储固定大小的同类型元素。

1.二维数组初始化和声明

数组变量的声明,和创建数组可以用一条语句完成,如下所示:

		int a[][] = new int[2][3];
		int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};

2.二维数组遍历

//遍历二维数组
public class Traverse_a_two_dimensional_array {
	public static void main(String[] args) {
		int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};//静态创建
		
		//遍历数组的第一个方法
		for(int i = 0;i < arr.length;i++){ 
			//遍历arr[0],arr中元素第一个数组
			for(int j = 0;j < arr[i].length;j++){
				System.out.print(arr[i][j]);
			}
		}		
	}
}
public class Traverse_a_two_dimensional_array {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};//静态创建

		//遍历数组的第二个方法
		for (int[] is : arr) {
			for (int i : is) {
				System.out.print(i);
			}
		}		
	}
}

3.Arrays 类(暂时还不会用)

java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。

具有以下功能:

给数组赋值:通过 fill 方法。

对数组排序:通过 sort 方法,按升序。

比较数组:通过 equals 方法比较数组中元素值是否相等。

查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

ArrayList 类

ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。

初始化:

		import java.util.ArrayList; // 引入 ArrayList 类
  ArrayList<String> sites = new ArrayList<>(); // 创建一个动态数组

添加元素:

添加元素到 ArrayList 可以使用 add() 方法:

		sites.add("Runoob");

删除元素:

删除 ArrayList 中的元素可以使用 remove() 方法:

 		sites.remove(3); // 删除第四个元素

计算大小:

计算 ArrayList 中的元素数量可以使用 size() 方法:

		 System.out.println(sites.size());

ArrayList 排序:

Collections 类也是一个非常有用的类,位于 java.util 包中,提供的 sort() 方法可以对字符或数字列表进行排序。

sort() 方法根据指定的顺序对动态数组中的元素进行排序。

sort() 方法的语法为:

注:arraylist 是 ArrayList 类的一个对象。

arraylist.sort(Comparator c) comparator - 顺序方式

		import java.util.Comparator;
  // 降序
  sites.sort(Comparator.reverseOrder());

总结

到此这篇关于Java二维数组与动态数组ArrayList类的文章就介绍到这了,更多相关Java二维数组与动态数组ArrayList类内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 主要内容:创建二维数组,初始化二维数组,获取单个元素,获取全部元素,获取整行元素,获取整列元素为了方便组织各种信息,计算机常将信息以表的形式进行组织,然后再以行和列的形式呈现出来。二维数组的结构决定了其能非常方便地表示计算机中的表,以第一个下标表示元素所在的行,第二个下标表示元素所在的列。下面简单了解一下二维数组,包括数组的声明和初始化。 创建二维数组 在 Java 中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。Java 并不直接支持二维数组,但是

  • 问题内容: 例如: 一个) 与 b) 最初以为我会为了简化而选择a)。 我知道Java不会像C那样在内存中线性存储数组,但是这对我的程序有什么影响? 问题答案: 通常,在搜索答案时,最好的办法是查看如何将选择编译到JVM字节码中: 这被翻译成: 因此,如您所见,JVM已经知道我们在谈论多维数组。 进一步说明: 这被转换为(跳过循环): 因此,如您所见,多维数组在VM内部进行处理,无用指令不会产生开

  • 本文向大家介绍详解C++中的一维数组和二维数组,包括了详解C++中的一维数组和二维数组的使用技巧和注意事项,需要的朋友参考一下 C++一维数组 定义一维数组 定义一维数组的一般格式为:     类型标识符  数组名[常量表达式]; 例如: 它表示数组名为a,此数组为整型,有10个元素。 关于一维数组的几点说明: 1) 数组名定名规则和变量名相同,遵循标识符定名规则。 2) 用方括号括起来的常量表达

  • 免责声明:我是一个苦苦挣扎的初学者 我的任务是从输入txt文件中读取整数到2D数组中。当我使用printf的调试/测试我的fscanf没有从文件中读取正确的值。我不明白为什么。 我的代码如下:

  • 本文向大家介绍C语言 指针与二维数组详解,包括了C语言 指针与二维数组详解的使用技巧和注意事项,需要的朋友参考一下 二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,它们之间没有“缝隙”。以下面的二维数组 a 为例: int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} }; 从概念上理解,a 的分布像一个矩

  • 问题内容: 我想动态创建一个二维数组。 我知道列数。但是行数正在动态更改。我尝试了数组列表,但它仅将值存储在单个维度中。我能做什么? 问题答案: 由于列的数量是恒定的,你可以有一个的。 由于它以a 为后缀,因此行数可以动态增加和减少。每行都有一个,它是静态的,但是您说列数是固定的,因此这不是问题。