待续

public class TestArray {
public static void main(String[] args) {
String[] s1 = {"双儿", "建宁", "阿珂", "沐剑屏", "方怡", "曾柔", "苏荃"};
String[] s2 = new String[9]; displayArray(s1); // 源数组或目标数组越界都会报错
System.arraycopy(s1, 0, s2, 1, s1.length);
displayArray(s2); // 删除数组s1[1]元素
s1 = removeArrayElement(s1, 1);
displayArray(s1); // 扩容数组s1
s1 = extendArray(s1, 10);
displayArray(s1);
} // 删除的数组下标从0开始计数
public static String[] removeArrayElement(String[] str, int dex) {
System.arraycopy(str, dex+1, str, dex, str.length-dex-1);
str[str.length-1] = null;
return str;
} // 数组扩容
public static String[] extendArray(String[] str, int i) {
String[] str_e = new String[str.length + i];
System.arraycopy(str, 0, str_e, 0, str.length-1);
return str_e;
} // 数组遍历
public static void displayArray(String[] str) {
for(String tmp : str) {
System.out.print(tmp + " ");
}
System.out.println("\n#########################分隔符##############################");
} } /*
双儿 建宁 阿珂 沐剑屏 方怡 曾柔 苏荃
#########################分隔符##############################
null 双儿 建宁 阿珂 沐剑屏 方怡 曾柔 苏荃 null
#########################分隔符##############################
双儿 阿珂 沐剑屏 方怡 曾柔 苏荃 null
#########################分隔符##############################
双儿 阿珂 沐剑屏 方怡 曾柔 苏荃 null null null null null null null null null null null
#########################分隔符##############################
*/

JDK提供java.util.Arrays类, 包含了常用的数组操作, 方便日常开发.

Arrays类包含: 排序, 查找, 填充, 打印内容

Arrays.toString()方法是Arrays类的静态方法, 不是Object的toString()方法

import java.util.Arrays;

public class TestArray_1 {
public static void main(String[] args) {
int[] s1 = {1, 4, 2, 9, 13}; // 打印数组引用的值
System.out.println(s1); // 打印数组元素
System.out.println(Arrays.toString(s1)); // 未排序, 不能用Arrays.binarySearch()查找
//System.out.println("该元素的索引: " + Arrays.binarySearch(s1, 4)); // 数组排序
// Arrays.toString()方法是Arrays类的静态方法, 不是Object的toString()方法
Arrays.sort(s1);
System.out.println(Arrays.toString(s1)); // 返回索引位置, 若未找到返回负数, 查找数组必须先经过排序
System.out.println("该元素的索引: " + Arrays.binarySearch(s1, 4)); }
} // Comparable接口---------------------> 容器待解决
class Man implements Comparable {
int age;
int id;
String name; public Man(int age, String name) {
super();
this.age = age;
this.name = name;
} public String toString() {
return this.name;
}
public int compareTo(Object o) {
Man man = (Man) o;
if(this.age < man.age) {
return -1;
}
else if(this.age > man.age) {
return 1;
}
else
return 0;
}
} /*
[I@71be98f5
[1, 4, 2, 9, 13]
[1, 2, 4, 9, 13]
该元素的索引: 2
*/

二维数组

import java.util.Arrays;

public class Test2DimensionArray {
public static void main(String[] args) {
// Java中多维数组的声明和初始化应该按从低维到高维的顺序进行
int[][] array_1 = new int[3][];
array_1[0] = new int[2];
array_1[1] = new int[4];
array_1[2] = new int[3];
//int a1[][] = new int[][4]; // 二维数组的动态初始
int[][] array_2 = new int[3][];
array_2[0] = new int[]{1, 2, 3};
array_2[1] = new int[]{3, 4, 5, 9};
array_2[2] = new int[]{3, 4}; // 二维数组的静态初始化
int[][] array_3 = {{1, 2, 3}, {2, 3}, {3, 9}}; System.out.println(Arrays.toString(array_2[0]));
System.out.println(Arrays.toString(array_2[1]));
System.out.println(Arrays.toString(array_2[2]));
System.out.println("###############分隔符##################"); for(int[] tmp : array_3) {
System.out.println(Arrays.toString(tmp));
} }
} /*
[1, 2, 3]
[3, 4, 5, 9]
[3, 4]
###############分隔符##################
[1, 2, 3]
[2, 3]
[3, 9]
*/

多维数组存储表格

import java.util.Arrays;

public class TestArrayTableData {
public static void main(String[] args) {
Object[] emp1 = {1001, "萧峰", 30, "丐帮帮主", "2018.8.8"};
Object[] emp2 = {1002, "段誉", 20, "段公子", "2018.3.9"};
Object[] emp3 = {1003, "虚竹", 25, "梦郎", "2018.4.5"}; Object[][] tableData = new Object[3][];
tableData[0] = emp1;
tableData[1] = emp2;
tableData[2] = emp3; for(Object[] tmp : tableData) {
System.out.println(Arrays.toString(tmp));
}
}
} /*
[1001, 萧峰, 30, 丐帮帮主, 2018.8.8]
[1002, 段誉, 20, 段公子, 2018.3.9]
[1003, 虚竹, 25, 梦郎, 2018.4.5]
*/

Java_数组, 懒得整理了 ---------------------> 未完, 待续的更多相关文章

  1. DP整理(未完待续)

    一.资源问题 T1 机器分配 已知条件:每家公司分配x台机器的盈利 令f[i][j]表示前i公司分配j台机器的最优解 转移:f[i][j]=max(f[i-1][j-k]+w[i][k]) 初始化:f ...

  2. 有关C,C++,C#, Java的图形图像处理类库 整理(未完待续)

    1.Java相关 1.1 Jzy3D Jzy3D 是一个Java的类库,用来绘制各种各样的三维图形,如下图所示: 下载地址:jzy3d-api,官网 1.2 Proscene 是一个用于创建交互式3D ...

  3. 布隆过滤器(Bloom Filter) 未完待续

    布隆过滤器雏形 未完待续..... 计算错误率 现在有一个空额布隆过滤器, 过滤器里的bit array的大小是m. 咱来插入一个元素. 这次插入过程中的第一个hash函数会算出一个位置, 然后把这个 ...

  4. 从Socket入门到BIO,PIO,NIO,multiplexing,AIO(未完待续)

    Socket入门 最简单的Server端读取Client端内容的demo public class Server { public static void main(String [] args) t ...

  5. javascript有用小功能总结(未完待续)

    1)javascript让页面标题滚动效果 代码如下: <title>您好,欢迎访问我的博客</title> <script type="text/javasc ...

  6. ASP.NET MVC 系列随笔汇总[未完待续……]

    ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...

  7. 关于DOM的一些总结(未完待续......)

    DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.query ...

  8. MVC丶 (未完待续······)

         希望你看了此小随 可以实现自己的MVC框架     也祝所有的程序员身体健康一切安好                                                     ...

  9. C++语言体系设计哲学的一些随想(未完待续)

    对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值.具体而言,需要: (1)定义数据类型 你定义的数据是什么,是整形还是浮点还是字符.该类型的数据可以包含的值的范围是什么. (2)定义操作的 ...

随机推荐

  1. c++中sprintf和sprintf_s的区别

    参考:https://blog.csdn.net/qq_37221466/article/details/81140901 sprintf_s是sprintf的安全版本,指定缓冲区长度来避免sprin ...

  2. VS Code对Golang的基准测试研究

    初心 想要在VS Code比较方便的调试Go代码的性能,了解到基准测试对此很有帮助,但默认VS Code执行 Go 的基准测试默认的benchtime为1秒,但测试性能时需要设置为更多秒 办法 在VS ...

  3. 深入理解golang:Context

    一.背景 在golang中,最主要的一个概念就是并发协程 goroutine,它只需用一个关键字 go 就可以开起一个协程,并运行. 一个单独的 goroutine运行,倒也没什么问题.如果是一个go ...

  4. MySQL数据库之索引、事务、存储引擎详细讲解

    一.索引 1.1 索引的概念 索引是一个排序的列表,存储着索引值和这个值所对应的物理地址 无须对整个表进行扫描,通过物理地址就可以找到所需数据 (数据库索引类似书中的目录,通过目录就可以快速査找所需信 ...

  5. spring redis 配置

  6. vue项目打包-2-九五小庞

    vue项目打包 一.终端运行命令 npm run build 二.打包成功的标志与项目的改变,如下图: 3.点击index.html,通过浏览器运行,出现以下报错,如图: 四.那么应该如何修改呢?具体 ...

  7. shell-逻辑操作符讲解与文件条件测试多范例多生产案例

    1. 逻辑操作符 在书写测试表达式时,可以使用表1.1中的逻辑操作符实现复杂的条件测试  表1.1逻辑连接符 提示: ! 中文意思是反:与一个逻辑值相反的逻辑值 -a 中文意思是与(and & ...

  8. shell携带附件,Linux下的自解压文件诞生了

    初衷 windows下有自解压文件,直接双击就能释放文件,并且还能执行释放文件前后要执行的脚本.Linux下我也想要这样的功能,因为我希望直接拷贝一个shell脚本给别人,别人直接运行就能用,而不是一 ...

  9. pytest文档59-运行未提交git的用例(pytest-picked)

    前言 我们每天写完自动化用例后都会提交到 git 仓库,随着用例的增多,为了保证仓库代码的干净,当有用例新增的时候,我们希望只运行新增的未提交 git 仓库的用例. pytest-picked 插件可 ...

  10. spring boot:基于profile的多环境配置(spring boot 2.3.4)

    一,为什么要进行多环境配置? 1,没有人会在生产环境中进行开发和测试, 所以通常会有多个环境的划分: 工程师本地的开发环境 进行测试的测试环境 最终上线的生产环境 每个环境对应不同的数据库/缓存等数据 ...