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


猜你喜欢
- OpenCV概述OpenCV做为功能强大的计算机视觉开源框架,包含了500多个算法实现,而且还在不断增加,其最新版本已经更新到3.2。其SD
- // Path类 IO命名空间 静态类 不能创建对象类名.string str =@"E:\C#程序设计基础入门教程\(第十一天)
- 目录位运算按位“与” &按位“或” |异或 ^移位运算左移 <<右移 >>无符号右移 >>>
- Comparable 简介Comparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。
- 一、Servlet概述1.sun公司提供的动态web资源开发技术。本质是上一段java小程序,要求这个小程序必须实现Servlet接口,以便
- 先看看效果图:package com.fenghuo.struts.download;import java.net.URLEncoder;
- 方法引用和构造器引用了解了 Lambda 表达式有一段时间了,但是都没有怎么练习,一直停留在最低层次的了解程度,这对于追求技术进步的人来说确
- 当初学的是通信专业,毕业以后,同学们各奔东西,去追逐自己的梦想,奔波于大大小小的工地之间。哈哈,开个玩笑,也有厉害的,进了某某研究所,嗯?他
- package com.videobackend.controller;import java.io.File;import java.io
- 一.数组的三种声明方式总结public class WhatEver { public static void main(Str
- 我们的spring cloud微服务一般是打成jar包发布的,Linux下启动jar包和windows下一样,都是java -jar 包名,
- private static void ExecuteSqlTransaction(string connectionString)&nbs
- 本文介绍了详解Android中PopupWindow在7.0后适配的解决,分享给大家,具体如下:这里主要记录一次踩坑的经历。需求:如上图左侧
- 概述Spring boot 中的 @Conditional 注解是一个不太常用到的注解,但确实非常的有用,我们知道 Spring Boot
- Objects工具类jdk 1.7引进的工具类,都是静态调用的方法,jdk 1.8新增了部分方法重点方法equals用于字符串和包装对象的比
- 通常浏览器都有将网页生成图片的功能,本文实例讲述了Winform实现将网页生成图片的方法。分享给大家供大家参考。具体方法如下:工具截图如下:
- java文字识别程序的关键是寻找一个可以调用的OCR引擎。tesseract-ocr就是一个这样的OCR引擎,在1985年到1995年由HP
- Java单例模式的实现,对java 单例模式的几种实现方法进行了整理:单例模式好多书上都是这么写的:public class SingleT
- 我们来讲一下自定义组合控件,相信大家也接触过自定义组合控件吧,话不多说,直接干(哈~哈~):大家看到这个觉得这不是很简单的吗,这不就是写个布
- 本文实例为大家分享了Android实现透明动画的具体代码,供大家参考,具体内容如下首页是有一个 Activitypublic class A