think in java第十六章数组 总结随笔

来源:互联网 发布:linux exec用法 编辑:程序博客网 时间:2024/05/01 12:58

初识数组

1.数组的创建和组装,并通过整型的索引值去访问它们的元素。

2.数组长度(即数组存储个数大小)的概念,数组的长度一旦初始化后是不能改变的。

抛砖引玉

1.为什么数组的长度是固定的,带来的影响有什么?

2.在看本章之前,我一直存在一个疑惑,在像有List、Map、Set等等容器的存在下(在操作上比数组方便的情况下,在实际开发中大多也是用List、Map、Set去存储数据),为什么我们还要去使用数组?我相信有许多的初学者是和我一样存在这样的疑问?

3.在开发中有时需要我们对数组有更加复杂的操作,则需要对数组进行深入的学习。

徐徐图之

下面开始我们的描述(请开始你的表演>.<)

数组为什么特殊?

数组与其他种类的容器之间的区别:

1.效率。 数组是一种效率最高的存储和随机访问对象引用序列的方式(因为它是一个简单的线性序列,使得元素访问非常快,但随之付出的代价就是数组对象的大小被固定)。

2.类型。  在泛型之前,其他容器类在处理对象时,都将它们视作没有具体类型。即将这些对象当做java中所有类的根类Object(java中所有的对象都继承了Object,不要问我为什么)处理。而数组则是去持有某种具体类型,这样带来的好处就是程序在编译期就可以进行检查,防止不当的操作。而当javaSE1.5(引入泛型)之后,并且有了自动包装之后,容器也能够持有基本类型。数组已经可以玩蛋去了。

3.保存基本类型的能力。 

数组是第一级对象

对此的描述我也是一知半解,但是里面有一句总结我觉得应该写出来,对象数组和基本类型数组在使用上基本是相同的,唯一的区别就是对象数组保存的是引用,基本类型数组直接保存基本类型的值。

返回一个数组

//返回一个字符数组public static String[] ResultArray(int n){String[] results = new String[n];int i = 0;while(n > 0 && i < n){results[i] = String.valueOf(i++);}return results;}public static void main(String[] args) {System.out.println(ResultArray(3)[1]);}
多维数组

其实这个也比较好理解,我就放一个多维数组的例子吧。

public static void main(String[] args) {//二维数组int[][] a = {{1,2,3,},{4,5,6,},};//三维数组int[][][] b = { {{1,2,3,},{4,5,6,},}, {{4,5,6,},{7,8,9,},}, {{7,8,9,},{1,2,3,},}};System.out.println(Arrays.deepToString(a));System.out.println(Arrays.deepToString(b));}
数组和泛型

1. java中不能创建泛型数组。

2.java中的数组必须知道它所持有的确切类型。

总而言之

其中有一些知识点我没有提及(大多是一些方法使用),不是因为不重要,而是我觉得没有必要写出来,有些东西需要用的时候去看下资料就可以了。Happy

原创粉丝点击