本文实例讲述了使用java数组 封装自己的数组操作。分享给大家供大家参考,具体如下:
今天感冒了,全身酸软无力,啥样不想做,就来学习吧,此节我们从初步使用java中提供的数组,然后分析相关情况,过渡到封装我们自己的数组。
一.我们先来感受一下java提供的数组,以整型数组(int[])为例,相关代码如下:
public class Main { public static void main(String[] args) { int[] arr = new int[10]; for(int i = 0 ; i < arr.length ; i ++) arr[i] = i; int[] scores = new int[]{100, 99, 66}; for(int i = 0 ; i < scores.length ; i ++) System.out.println(scores[i]); for(int score: scores) System.out.println(score); scores[0] = 96; for(int i = 0 ; i < scores.length ; i ++) System.out.println(scores[i]); } }
1.对于数组最大优点:快速查询。例如我想知道scores下标为1数值是多少,我们只需
scroes[1]
即可快速访问到该下标对应的值。
2.数组最好应用于"索引有语义"的情况,换句话说我们得知道在查什么,比如查询学号为1的学生成绩,这种情况。如果没有语义最好是用其他的数据结构。可以以后做一个比较。
3.有的场景下:即使索引有语义,但是不适合用数组。 比如:使用11位手机号码(开辟空间是否过大,是否有空间浪费。)
但是如果我们需要在索引没有语义的情况下,也可以使用数组,这时该怎么使用数组?该怎么表示数组没有元素?该怎么添加html" target="_blank">元素?该怎么删除元素?
Java原本的数组属于静态数组,要解决以上问题,要基于Java数组二次封装属于我们的数组(动态数组)。最后做简单的复杂度分析,看看性能。
二.制作属于我们自己的数组类
此部分我们主要是为了解决上述的疑问,我们需要基于Java数组二次封装属于我们的数组(动态数组)。
操作:新建一个Array类,定义私有的data数组(此处我们从封装int类型数组为例)
/** * 1.从封装int类型数组开始 */ public class Array { //使用private 的目的是防止用户从外界修改,造成数据不一致 private int[] data; private int size; //构造函数,传入数组的容量capacity构造Array函数 public Array(int capacity) { data = new int[capacity]; size = 0; } //无参构造函数,默认数组的容量capacity=10 public Array() { this(10); } //获取数组中元素个数 public int getSize() { return size; } //获取数组的容量 public int getCapacity() { return data.length; } //获取数据是否w为空 public boolean iEmpty() { return size == 0; } }
此处我们只是简单对数组新增几个普通方法,算是简单的入门过渡一下吧,呵呵~
对数据结构来说,本质和数据库是一样的,也是存储数据,之后再对这些数据进行高效的操作。只不过涉及的数据结构会把数据存储在内存中,所以在大的类别的划分,也是增删改查。针对不同的数据结构,对增删改查的方式是截然不同的。甚至有的数据结构会忽略其中的某个动作。但是不管怎样,增删改查四个动作可以作为我们研究一个数据结构相应的脉络。由于数组本身是静态的,创建时就必须指定大小(容量capacity)。数组有多少元素(size)。
下一节我们将针对数组新增增删改查等方法,便于我们使用数组~
仅供学习记录,别无它用。。。。
更多关于java相关内容感兴趣的读者可查看本站专题:《Java数组操作技巧总结》、《Java字符与字符串操作技巧总结》、《Java数学运算技巧总结》、《Java数据结构与算法教程》及《Java操作DOM节点技巧总结》
希望本文所述对大家java程序设计有所帮助。
本文向大家介绍Java使用反射操作数组示例,包括了Java使用反射操作数组示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java使用反射操作数组。分享给大家供大家参考,具体如下: 一 实战 1 代码 2 运行 E:\Java\疯狂java讲义\codes\18\18.4>java ArrayTest1 疯狂Java讲义 轻量级Java EE企业应用实战 二 实战 1 代码 2 运行
本文向大家介绍封装属于自己的JS组件,包括了封装属于自己的JS组件的使用技巧和注意事项,需要的朋友参考一下 一、扩展已经存在的组件 1、需求背景 很多时候,我们使用jquery.ajax的方式向后台发送请求,型如 这种代码太常见了,这个时候我们有这样一个需求:在自己调用ajax请求的时候,我们不想每次都写error:function(e){}这种代码,但是我们又想让它每次都将ajax的
问题内容: 我从Java开始,正在学习有关setter,getter和封装的知识。我有一个非常简单的程序,分为两个类: 的setter和getter 有一个私有的int数组()。 创建一个对象并在方法中使用它。 问题:我可以通过getter更改private int数组,我知道那是因为返回对的引用,而不是数组本身。如果我对数组的单个元素感兴趣,我会用一个索引值来做一个吸气剂,但是我想要方法的整个数
本文向大家介绍Java封装数组实现在数组中查询元素和修改元素操作示例,包括了Java封装数组实现在数组中查询元素和修改元素操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java封装数组实现在数组中查询元素和修改元素操作。分享给大家供大家参考,具体如下: 前言:在上一小节中,我们已经对如何往数组中添加一个元素的方法进行了编写,此节中我们就如何查询出数组中元素与修改元素的方法进行编写
本文向大家介绍PHP中使用数组指针函数操作数组示例,包括了PHP中使用数组指针函数操作数组示例的使用技巧和注意事项,需要的朋友参考一下 数组的内部指针是数组内部的组织机制,指向一个数组中的某个元素。默认是指向数组中第一个元素通过移动或改变指针的位置,可以访问数组中的任意元素。对于数组指针的控制PHP提供了以下几个内建函数可以利用。 ★current():取得目前指针位置的内容资料。 ★key():
本文向大家介绍Java封装数组之添加元素操作实例分析,包括了Java封装数组之添加元素操作实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java封装数组之添加元素操作。分享给大家供大家参考,具体如下: 在上一小节中,我们对数组进行了一个基本的封装,该小节中,我们在上一次基础上,新增往数组添加元素的方法: 1.向所有元素后添加一个元素 思路: (1)先判断当前数组容量是否已满,未满