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
- think in java第十六章数组 总结随笔
- Think in java第二、三章 总结随笔
- think in java第五章 初始化与清理 总结随笔
- think in java第六章 访问权限控制 总结随笔
- think in java第七章 复用类 总结随笔
- think in java第九章接口 总结随笔
- think in java第十章内部类 总结随笔
- think in java 第十三章字符串 总结随笔
- think in java 第十五章 泛型 总结随笔
- Think in java 第一章 总结随笔
- think in java第八章多态 总结随笔
- think in java 总结
- Think in Java(十三):数组
- think in java 学习总结
- think in java笔记 Chart16 数组
- Thinking in Java——第十六章-数组
- think in java 隐藏实施过程总结
- [think in java2]java并发问题总结
- Flink入门教程--Jobs and Scheduling(任务和调度)
- 笔记:linux下查询网络端口被监听的信息方法。
- spfa算法
- 解决jsp上传文件,重启tomcat后文件和文件夹自动删除
- CodeForces 723C Polycarp at the Radio (贪心+暴力)
- think in java第十六章数组 总结随笔
- diff.js 列表对比算法 源码分析
- HDU 6199 gems gems gems dp
- org.mybatis.spring.MyBatisSystemException
- python3 如何实现python2 中cmp()函数的功能
- 关于intern和字符串
- Python--脚本自动发送邮件
- java容器,java框架
- Linux shell 处理文件是,注意换行符要换成Unix格式