Java基础篇4——数组

1、数组的概念

  • 当需要在Java程序中记录单个数据内容时,则声明一个变量即可
  • 当需要在Java程序中记录多个类型相同的数据内容时,则声明一个一维数 组即可,一维数组本质上就是在内存空间中申请一段连续的存储单元
  • 数组是相同数据类型的多个元素的容器,元素按线性顺序排列,在Java语 言中体现为一种引用数据类型

2、一维数组的声明

2.1、一维数组的声明

数据类型[] 数组名称 = new 数据类型[数组的长度];
数据类型[] 数组名称 = {初始值1, 初始值2, ...};

2.2、数组的方法

//长度
数组.length
//访问元素
数组[下标]

2.3、数组的优缺点

  • 可以直接通过下标(或索引)的方式访问指定位置的元素,速度很快
  • 数组要求所有元素的类型相同
  • 数组要求内存空间连续,并且长度一旦确定就不能修改
  • 增加和删除元素时可能移动大量元素,效率低

3、java.util.Arrays

3.1、数组复制

与System.arraycopy数组复制类似,但无需事先准备数组

import java.util.Arrays;public class Test1 {public static void main(String[] args) {copyofrange();}public static void copyofrange(){int a[] = new int[] { 20,25,15,5416,464 };int[] b = Arrays.copyOfRange(a, 0, a.length);for (int i = 0; i < b.length; i++) {System.out.print(b[i] + " ");}}
}

3.2、转换为字符串

public class Test1 {public static void main(String[] args) {tostring();}public static void tostring(){int a[] = new int[] { 20,25,15,5416,464 };System.out.println(Arrays.toString(a));}
}

3.3、排序

public class Test1 {public static void main(String[] args) {sort();}public static void sort(){int a[] = new int[] { 20,25,15,5416,464 };Arrays.sort(a);System.out.println(Arrays.toString(a));}
}

3.4、搜索

使用binarySearch之前,必须先使用sort进行排序

public class Test1 {public static void main(String[] args) {search();}public static void search(){int a[] = new int[] { 20,25,15,5416,464 };Arrays.sort(a);System.out.println(Arrays.toString(a));System.out.println(Arrays.binarySearch(a, 464));}
}

3.5、判断是否相同

public class Test1 {public static void main(String[] args) {equal();}public static void equal(){int a[] = new int[] { 20,25,15,5416,464 };int b[] = new int[] { 20,25,15,5416,465 };System.out.println(Arrays.equals(a,b));}
}

3.6、填充

public class Test1 {public static void main(String[] args) {fill();}public static void fill(){int a[] = new int[] { 20,25,15,5416,464 };Arrays.fill(a,10);System.out.println(Arrays.toString(a));}
}

4、二维数组

二维数组本质上就是由多个一维数组摞在一起组成的数组,二维数组中 的每个元素都是一维数组,而一维数组中的每个元素才是数据内容

4.1、二维数组初始化

数据类型[][] 数组名称 = new 数据类型[行数][列数];
数据类型[][] 数组名称 = {{元素1, 元素2,...}, ...};

Java基础篇4——数组相关推荐

  1. Java基础篇:数组

    一.数组基础知识: 1.什么是数组: 数组,就是一个容器,存放着同一种类型的数据的集合.数组的好处就是可以自动给数组中的元素从0开始编号,方便操作这些元素.数组属于引用变量,并且数组的长度是固定的,数 ...

  2. 菜鸟学习笔记:Java基础篇6(数组、字符串)

    菜鸟学习笔记:Java常用类(数组.字符串) 数组 概述 数组的定义 二维数组 数组查找和排序 查找 排序 数组运用--字符串 不可变字符序列(String) 可变字符序列(StringBuilder ...

  3. Java基础篇--Java 数组

    Java基础篇--Java 数组 Java 数组 声明数组变量 创建数组 处理数组 For-Each 循环 数组作为函数的参数 数组作为函数的返回值 多维数组 多维数组的动态初始化(以二维数组为例) ...

  4. 你所需要的java基础篇深入解析大汇总

    java基础篇深入解析大总结 java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规则 java基础(三) 加强型for循环与Iterator java基础(四) java运算顺序 ...

  5. Java基础篇1——变量与数据类型

    Java基础篇1--变量与数据类型 1.标识符命名规则 标识符以由大小写字母.数字.下划线(_)和美元符号($)组成,但是不能以数字开头. 大小写敏感 不能与Java语言的关键字重名 不能和Java类 ...

  6. 菜鸟学习笔记:Java基础篇7(包装类、时间相关类、文件类、异常处理类)

    菜鸟学习笔记:Java其他常用类 基本数据类型包装类 时间处理和文件处理相关类 Date时间类 SimpleDateFormat Calendar日历类 文件类 异常机制 异常的概念 Java异常处理 ...

  7. 菜鸟学习笔记:Java基础篇5(抽象类与接口、回调函数、内部类)

    菜鸟学习笔记:Java面向对象篇下 抽象类 接口 回调函数 内部类 成员内部类 匿名内部类 抽象类 通过前面知识的学习,抽象类这个概念应该不难理解,但比较容易和后面要说的接口混淆,而且在面试中也比较爱 ...

  8. 菜鸟学习笔记:Java基础篇3(面向对象思想、程序执行过程内存分析、面向对象重要概念)

    菜鸟学习笔记:Java面向对象篇上 Java面向对象的思想 Java程序执行过程内存分析 Java垃圾回收机制 构造方法 方法重载(overload) static关键字 this关键字 Java面向 ...

  9. 菜鸟学习笔记:Java基础篇2(变量、运算符、流程控制语句、方法)

    菜鸟学习笔记:Java基础篇2 变量 基本概念 变量作用域 final关键字 运算符 算术运算符 比较运算符 逻辑运算符 位运算符 赋值运算符 条件运算符 运算符优先级 Java三种流程控制语句 顺序 ...

最新文章

  1. 深度学习之误差反向传播法
  2. DevExpress控件之GridControl、GridView
  3. 解决方案:Unable to create requested service
  4. XShell中浏览文件时上拉下拉
  5. Liunx中EOF的用法
  6. android,面向对象
  7. wps多人协作后怎么保存_蜂蜜开封后能放多久?蜂蜜开封后怎么保存?蜂蜜存放要注意事项...
  8. C++ primer 第12章 12.3 使用标准库:文本查询程序
  9. Category 特性在 iOS 组件化中的应用与管控
  10. ST_Geometry效率的测试与分析
  11. 字节跳动冬令营报名启动,邀你一起备战ICPC世界总决赛!
  12. R 语言之数据分析高级方法「GLM 广义线性模型」
  13. dockertool (win10家庭版)安装后的问题
  14. 高一下学期计算机考试知识点,高中数学知识点总结
  15. Kali渗透测试:社会工程学工具
  16. php违章查询源码,ThinkPHP聚合数据违章查询接口
  17. *** WARNING : deprecated key derivation used. Using -iter or -pbkdf2 would be better.
  18. 几行JS代码防止网站在QQ和微信被举报
  19. 集团公司预算控制与网上费用报销系统
  20. JavaEE企业级实战项目 智牛股第七天 权限与网关的搭建

热门文章

  1. Python | Pyplot标签
  2. kotlin中既继承又实现_Kotlin程序| 解决继承中的主要冲突的示例
  3. 手游pubg mobile服务器正在维护,PUBG Mobile Download Failed怎么解决
  4. jsonp请求html页面,JavaScript中的JSON和JSONP
  5. vb.net cad 块表最后的实体_21个绘图命令+7个技巧,3分钟让你成为CAD高手
  6. 语言中的petchar运用_还在担心你家孩子发音、语言问题?12个表现、3个预防是重点...
  7. duration java_Java Duration类| toHours()方法与示例
  8. 字典使用与内部实现原理
  9. Stacked Hourglass Networks 人体姿态检测
  10. JDBC中使用RowSet包装结果集