首页
登录 | 注册

Java基础语法<六> 数组 Arrays

笔记整理 来源于《Java核心技术卷 I 》 《Java编程思想》
 
允许数组长度为0
new element[0] 数组长度为0与null不同
 

1. 数组拷贝

允许将一个数组变量拷贝给另一个数组变量。这时,两个变量将引用同一个数组:
int[] ele1 = ele2;
ele1[5] = 12; //now ele2[5] is also 12
 
如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays类的copyTo方法:
int[] copiedele = Arrays.copyOf(ele1,ele1.length);
第2个参数为数组的长度,通常用来增加数组的大小。

2. 命令行参数

每个java应用程序都有一个带String arg[]参数的main方法。这个参数表明main方法将接受一个字符串数组,也就是命令行参数。
 

3. API

java.util.Arrays 1.2

 
static String toString(type[] a) 5.0
返回包含a中数据元素的字符串,这些数据元素被放在括号内,并用逗号分隔。
参数:a 类型为int、long、short、byte、boolean、float或double的数组
 
static type copyOf(type[] a,int length)  6
staitc type copyOf(type[] a,int start,int end)  6
返回与a类型相同的一个数组,其长度为length或者start-end数组元素为a的值
参数:a 类型为int、long、short、byte、boolean、float或double的数组
             start 起始下标 包含这个值
             end 终止下标 不包含这个值,这个值可能大于a.length,在这种情况下,结果为0或false。
             length 拷贝的数据元素长度.如果length值大于a.length,结果为0或false;否则,数组中只有前面length个数据元素的拷贝值
 
static void sort(type[] a)
采用优化的快速排序算法对数组进行排序
参数:a 类型为int、long、short、byte、boolean、float或double的数组
 
static int binarySearch(type[] a,type v)
static int binarySearch(type[] a,int start,int end,type v)  6
采用二分搜索算法查找值v。如果查找成功,则返回相应的下标值,否则,返回一个负数值r。-r-l是为保持a为有序v应插入的位置。
参数:  a 类型为int、long、short、byte、boolean、float或double的数组
             start 起始下标(包含这个值)
             end  终止下标(不包含这个值)
             v 同a的数据元素类型相同的值
 
static void fill(type[] a type v)
将数组的所有数据元素值设置为v
参数:a 类型为int、long、short、byte、boolean、float或double的数组
         v 同a的数据元素类型相同的值
 
static boolean equals(type[] a type[] b)
如果两个数组大小相同,并且下标相同的元素都对应相等,返回true
参数 a,b类型为int、long、short、byte、boolean、float或double的数组
 

4. 多维数组

foreach 需要两个嵌套的循环
 
快速打印
System.out.println(Arrays.deepToString(a));
 

5. 不规则数组

Java实际上没有多维数组,多维数组被解释为 数组的数组。

相关文章

  • More Effective C++
    More Effective C++ 35个改善编程与设计的有效方法 只有深入了解C++编译器如何解释代码, 才有可能用C++语言写出健壮的软件. C++的难学, 不仅在其广博的语法, 语法背后的语义, 语义背后的深层思维, 深层思维背后的 ...
  • 已经更新100+篇~ 关注公众号,BAT大神带你飞~ 听说你还在写Java,看Spring,看Dubbo,今天SpringCloud, 明天Dubbo3.X新版本... 10个开发9个半在写Java后台?框架层出不穷,天天学新东西怕被甩淘汰 ...
  • 一.前言 在日常开发中,我们经常会碰到需要在运行时才知道对象个数的情况,这种情况不能使用数组,因为数组是固定数量的,这个时候我们就会使用集合,因为集合可以存储数量不确定的对象. 集合类是特别有用的工具类,不仅可以存储数量不等的对象,还可以实 ...
  • java中常见的集合类大部分是非线程安全的,在多线程情况下会报并发修改异常(ConcurrentModificationException) 并发下的ArrayList类: 1 //集合类不安全的例子 2 public class Coll ...
  • 为什么说 Java 程序员到了必须掌握 Spring Boot 的时候?
    Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,就单从我个人的博客的访问量大幅增加就可以感受到大家对学习 Spring Boot 的热情,那么在这么多人热衷于学习 Spring Boot 之时,我自己也在 ...
  • 如何零基础开始自学Python编程
    转载——原作者:赛门喵 链接:https://www.zhihu.com/question/29138020/answer/141170242 0. 明确目标 我是真正零基础开始学Python的,从一开始的一窍不通,到3个月后成功搭建了一个 ...

2019 cecdns.com webmaster#cecdns.com
12 q. 0.069 s.
京ICP备10005923号