TIJ_16章 数组
来源:互联网 发布:诲汝知之乎的之 编辑:程序博客网 时间:2024/04/27 18:48
对数组的基本看法:通过使用整形索引值访问它们的元素,并且它们的尺寸不能改变。
数组与其他种类的容器之间的区别有三个方面:效率,类型,保存基本类型的能力。
在java中数组是一种效率最高的存储和随机访问对象引用序列的方式。
数组就是一个简单的线性序列,这使得元素访问速度非常快。缺点是数组大小固定,并且在其生命周期内不可改变。(除非创建一个长度大于此数组的新数组,然后把元素依次复制给新数组,然后再用老数组的引用指向新数组的对象。)
如果想要方法返回一组值,那么利用数组作为返回值。
通常数组不能和泛型很好的结合,例如Peel<Apple> [ ] peels=new Peel<Apple>[10];//Illegal 非法的
Arrays类实用方法
equals(): Arrays类提供了重载后的equals()方法,用来比较整个数组。 Arrays.equals(j,i); (deepEquals()用于多维数组)。此方法针对所有基本类型与Object都做了重载,数组相等的条件是元素个数必须相等,并且对应位置的元素也相等。(对于基本类型,需要使用基本类型的包装器类的equals()方法,例如,对int类型使用Integer.equals()作比较)。u
fill() : 复制填充数组。
sort() : 用于数组排序
binarySearch() :用于在已经排序的数组中查找元素。
toString() :产生数组的String表示。
hashCode() :产生数组的散列码。
所有这些方法对各种基本类型和Object类重载过。
Arrays.asList() :接收任意的序列或数组作为参数,并将其转变为List容器。
arraycopy();复制数组从i的第0个元素开始,复制i.length元素的个数,复制数组的元素到目标数组j中。 如果超出数组长度,会抛出ArrayIndexOutOfBoundsException。
这个例子说明基本类型数组与对象数组都可以复制。然而,如果复制对象数组,那么只是复制了对象的引用,而不是对象本身的拷贝。这种方式称为浅复制。
System.arraycopy()不会执行自动包装和自动拆包,两个数组必须具有相同的确切类型。
int[] i={33,44,55};
int[] j={2,3,4,5,6,7};
System.arraycopy(i, 0, j, 0, i.length);
System.out.println(Arrays.toString(j)); //[33, 44, 55, 5, 6, 7]
- TIJ_16章 数组
- 第05章 数组 15 二维数组
- 第05章 数组 16 二维数组
- 第四章 数组和指针 (part1) 数组
- 第四章数组和指针(数组)
- 第五章 数组与字符串 5.1 数组
- 第四章: 数组
- 第五章 数组
- 第7章 数组
- 第十章 动态数组
- 第六章 “另类”数组
- 第五章 数组
- 第四章 数组
- 第十章 动态数组
- 第六章 “另类”数组
- 第六章 “另类”数组
- 第五章 数组总结
- 第五章 数组
- javaIO笔记
- 【JZOJ4787】【NOIP2016提高A组模拟9.17】数格子
- Android之浅析回调
- RubikFX:用JavaFX 3D解决魔方难题
- java内部类笔记
- TIJ_16章 数组
- 微信小应用-基础组件
- FileWriter&FileReader
- PopupWindow背景变暗
- Android简单的菜单笔记
- 【UVA 10635】【LCS转化成LIS】 Prince and Princess
- 深入理解Java 注解原理
- 聊聊Socket、TCP/IP、HTTP、FTP及网络编程
- javaArray 学习笔记