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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
在Eclipse安装Spring boot插件的步骤(图文)
![](https://img.aspxhome.com/file/2023/2/78352_0s.png)
Unity3D 单例模式和静态类的使用详解
详解ViewBinding用法
Android 中TextView中跑马灯效果的实现方法
基于springboot 配置文件context-path的坑
详谈Java中的事件监听机制
java基于netty NIO的简单聊天室的实现
![](https://img.aspxhome.com/file/2023/7/69697_0s.png)
Mybatis-Plus的多数据源你了解吗
![](https://img.aspxhome.com/file/2023/7/57617_0s.png)
详解如何让Spring MVC显示自定义的404 Not Found页面
![](https://img.aspxhome.com/file/2023/1/72571_0s.jpg)
C#中RSA加密与解密的实例详解
![](https://img.aspxhome.com/file/2023/2/111152_0s.jpg)
C++实现的求解多元一次方程示例
C# 设计模式系列教程-策略模式
![](https://img.aspxhome.com/file/2023/1/106511_0s.png)
C#之Expression表达式树实例
Java中使用websocket实现在线聊天功能
![](https://img.aspxhome.com/file/2023/7/91097_0s.png)
基于Java8 函数式接口理解及测试
Android中Edittext设置输入条件
Java自带定时任务ScheduledThreadPoolExecutor实现定时器和延时加载功能
IDEA搭建SpringBoot离线工程的方法
![](https://img.aspxhome.com/file/2023/0/93070_0s.png)
关于springboot配置druid数据源不生效问题(踩坑记)
![](https://img.aspxhome.com/file/2023/1/106081_0s.png)
点九图片的显示内容区域应作何理解
![](https://img.aspxhome.com/file/2023/1/91691_0s.png)