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

作者:weixin_46801232 时间:2023-07-31 19:53:56 

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());

来源:https://blog.csdn.net/weixin_46801232/article/details/108655665

标签:java,二维数组,arraylist类
0
投稿

猜你喜欢

  • 在Eclipse安装Spring boot插件的步骤(图文)

    2023-01-14 05:04:05
  • Unity3D 单例模式和静态类的使用详解

    2022-09-22 08:16:19
  • 详解ViewBinding用法

    2023-07-01 21:38:41
  • Android 中TextView中跑马灯效果的实现方法

    2023-08-07 01:39:46
  • 基于springboot 配置文件context-path的坑

    2021-07-04 17:37:27
  • 详谈Java中的事件监听机制

    2022-08-05 00:29:30
  • java基于netty NIO的简单聊天室的实现

    2023-11-18 15:29:43
  • Mybatis-Plus的多数据源你了解吗

    2023-07-22 00:46:59
  • 详解如何让Spring MVC显示自定义的404 Not Found页面

    2023-12-12 15:48:47
  • C#中RSA加密与解密的实例详解

    2022-09-01 15:43:06
  • C++实现的求解多元一次方程示例

    2022-09-26 19:45:47
  • C# 设计模式系列教程-策略模式

    2022-04-30 16:09:03
  • C#之Expression表达式树实例

    2023-02-24 20:54:31
  • Java中使用websocket实现在线聊天功能

    2023-01-03 22:07:20
  • 基于Java8 函数式接口理解及测试

    2021-06-19 21:54:35
  • Android中Edittext设置输入条件

    2023-03-11 23:05:08
  • Java自带定时任务ScheduledThreadPoolExecutor实现定时器和延时加载功能

    2023-02-24 13:52:03
  • IDEA搭建SpringBoot离线工程的方法

    2023-04-11 05:50:42
  • 关于springboot配置druid数据源不生效问题(踩坑记)

    2021-08-04 13:46:08
  • 点九图片的显示内容区域应作何理解

    2022-12-27 12:24:30
  • asp之家 软件编程 m.aspxhome.com