Java一维数组二维数组详解API
所谓数组,是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合,数组有一维数组,二维数组,多维数组等
一维数组的初始化和定义
//动态初始化
int[] arr = new int[3];
arr[0] = 100;
arr[1] = 200;
arr[2] = 300;
//静态初始化
int[] arr = {100,200,300};
int[] arr1 = new int[]{100,200,300};
//默认赋值初始化
int[] array = new int[10];
//获取数组的长度
int[] arr = new int[10];
int length = arr.length;
System.out.println("数组长度:"+length);
二维数组的定义以及如何初始化
//动态初始化
int[][] arr = new int[3][3];
arr[0][1] = 100;
arr[1][1] = 200;
arr[2][1] = 300;
//静态初始化
int[][] arr = {{100,200,300},{100,200,300}};
//默认赋值初始化
int[][] array = new int[][]{{100,200,300},{100,200,300}};
//不定长二维数组的定义如下:
int[][] array = new int[3][];
array[0] = new int[1];
array[1] = new int[2];
array[2] = new int[3];
//获取二维数组的长度
int length1 = array.length;
int length2 = array[0].length;
// 获取二维数组的第一维长度(3)
System.out.println(length1);
// 获取二维数组的第一维的第一个数组长度(1)
System.out.println(length2);
数组遍历请看我的上一篇文章(https://blog.csdn.net/qq_24434671/article/details/88414699)
数组的常用API及用法
//数组输出为字符串
int[] array = { 1, 2, 3 };
System.out.println(Arrays.toString(array));
//数组转Set集合
String[] array = { "a", "b", "c", "d", "e" };
Set set = new HashSet(Arrays.asList(array));
//数组转List集合
String[] array = { "a", "b", "c", "d", "e" };
List list = new ArrayList(Arrays.asList(array));
//List集合转数组
List list = new ArrayList();
list.add("a3");
list.add("b4");
list.add("c5");
String[] array = new String[list.size()];
list.toArray(array);
for (String s : array){
System.out.println(s);
}
//判断数组中是否包含某个值
String[] array = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(array).contains("a");
if(b){
//包含
}else{
//不包含
}
//两个数组合并成一个
int[] array1 = { 1, 2, 3, 4, 5 };
int[] array2 = { 6, 7, 8, 9, 10 };
int[] array = org.apache.commons.lang.ArrayUtils.addAll(array1, array2);
System.out.println(Arrays.toString(array));
//String数组转字符串
String[] array = { "a", "b", "c" };
String str = org.apache.commons.lang.StringUtils.join(array, ", ");
System.out.println(str);
//数组逆序
int[] array = { 1, 2, 3, 4, 5 };
org.apache.commons.lang.ArrayUtils.reverse(array);
System.out.println(Arrays.toString(array));
//数组元素移除
int[] array = { 1, 2, 3, 4, 5 };
int[] removed = org.apache.commons.lang.ArrayUtils.removeElement(array, 3);
System.out.println(Arrays.toString(removed));
//利用for循环对数组元素进行移除
public static void main(String[] args) {
//定义一个数组
int[] arr = {1,2,3,4};
//删除其中某个元素并且打印在控制台
printArray(deleteArrElement(arr,2));
}
/**
* 打印数组
* @param arr
*/
public static void printArray(int[] arr) {
for (int i : arr) {
System.out.print(i+"\t");
}
}
/***
* 对数组指定元素进行删除,并且返回删除后的数组
* @param arr
* @param element
* @return
*/
public static int[] deleteArrElement(int[] arr,int element) {
int[] tmp = new int[arr.length-1];
int n = 0;
for(int i=0;i<arr.length;i++) {
if(arr[i] != element) {
tmp[n++] = arr[i];
}
}
return tmp;
}
以上为数组的常用用法和用途,如有错误请大佬指出,如需讨论技术可以私聊我。
Java一维数组二维数组详解API的更多相关文章
- Java一维与二维数组的拷贝与排序
Java一维与二维数组的拷贝与排序 目录 Java一维与二维数组的拷贝与排序 Arrays.sort() 一维数组升序排序 二维数组按行升序排序 二维数组按列升序排序 Java中的数组 Java中数组 ...
- Java基本语法-----java数组(一维数组二维数组)
嘿嘿!你们懂的,又是图片,委屈大家了. java数组(一维数组二维数组) [正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个"顶"字,你就 ...
- Java中的二维数组
Java 中的二维数组 所谓二维数组,可以简单的理解为是一种"特殊"的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空 ...
- java学习之二维数组
java当中的二维数组,存储一组比较特殊的对象.他存储一个数组,同时存储的数组当中又存储着元素. java二维数组的声明方式一: class Arr2Demo { public static void ...
- Java自学-数组 二维数组
Java 如何使用二维数组 这是一个一维数组, 里面的每一个元素,都是一个基本类型int int a[] =new int[]{1,2,3,4,5}; 这是一个二维数组,里面的每一个元素,都是一个一维 ...
- Java 中的二维数组
所谓二维数组,可以简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空间 或者 如: 2. 赋值 二维数组的赋值, ...
- JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数
JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数 示例如下 至少需要九个元素:"A","B","C",&q ...
- Java基础教程——二维数组
二维数组 Java里的二维数组其实是数组的数组,即每个数组元素都是一个数组. 每个数组的长度不要求一致,但最好一致. // 同样有两种风格的定义方法 int[][] _arr21_推荐 = { { 1 ...
- 数据结构 二维数组-->稀疏数组-->二维数组
稀疏数组基本概念: 稀疏数组应用场景: 当一个数组大部分的元素为"0",或者为同一个值的数组时,可以使用稀疏数组来保存该数组 处理方法: 1>记录数组一共有几行几列,有多少不 ...
随机推荐
- Idea+maven+testng+reportng生成测试报告
TestNG自带的测试报告不是很好用,所以一般结合reportng生成美观的测试报告. 首先,在pom.xml中添加testng和reportng相关依赖 <dependencies> & ...
- TestNG套件测试(一)
测试套件是用于测试软件程序的行为或一组行为的测试用例集合. 在TestNG中,我们无法在测试源代码中定义一个套件,但它可以由一个XML文件表示,可以灵活配置要运行的测试. 套件用<suite&g ...
- db2 group by的疑惑。
按借据号分组,显示每组的条数:
- 记VS2008安装及使用及卸载的艰辛历程!!!(2018/11/6-2018/11/14)
此文为了纪念我对VS2008“孜孜不倦的”无数次的安装及卸载,以及解决使用过程中出现的问题所花费的人力物力和财力!成功之后再作补充.
- JavaScript 面向对象的编程(三) 类的继承
定义父类和子类的继承关系 //声明父类 function SuperClass(){ this.superValue = true; } //为父类添加共有方法 SuperClass.prototyp ...
- HDU 1224 无环有向最长路
用bellman_ford的方法,将中间不断取较小值,修改为取较大值就可以了 #include <cstdio> #include <cstring> #include < ...
- [luoguP2858] [USACO06FEB]奶牛零食Treats for the Cows(DP)
传送门 f[i][j][k] 表示 左右两段取到 i .... j 时,取 k 次的最优解 可以优化 k 其实等于 n - j + i 则 f[i][j] = max(f[i + 1][j] + a[ ...
- noip模拟赛 梦想
题目描述 LYK做了一个梦. 这个梦是这样的,LYK是一个财主,有一个仆人在为LYK打工. 不幸的是,又到了月末,到了给仆人发工资的时间.但这个仆人很奇怪,它可能想要至少x块钱,并且当LYK凑不出恰好 ...
- vim下多行注释与解注释
1.多行注释 (1)按esc进入命令行模式 (2)按下Ctrl+v,进入区块模式,并使用上下键选择需要注释的多行 (3)按下“I”(大写)键,进入插入模式 (4)输入注释符(“//”或“#”等) (5 ...
- ubuntu 网络监控 nethogs
***网络监控ubuntu自带的 netstat -an 查看当前网络状况 sudo netstat -anp 查看当前网络状况带对应进程号 traceroute 追踪路由 ***我比较喜欢用Neth ...