[Java之六]数组及队列(2)

[Java之六]数组及队列(2)

零.

数组的简化了我们的程序,可以让我们将比较庞大的数据群体以数组代替,随用随取。

可以数组也有它的局限性,来,我们来好好回忆一下它的格式:

(1)数据类型 [ ] 数组名 = new 数组类型 [数组元素个数 ];

(2)数据类型 [ ] 数组名 = new 数据类型[]{逗号分隔的初始化值};

(3)数据类型 [ ] 数组名 = {逗号分隔的初始化值};

发现了吗?一个数组只有一个数组类型,也就是一个数组里的大量数据都只有一个数据类型,那么我们的不同数据类型也想要打包在一起,随取随用。怎么办呢?

如果想要再加入一个数据,如何做呢?改一个数据呢?删一个呢?

仅仅是数组看来还是有局限的

一.队列

我先来回答一下刚才提出的第一个问题,数组其实也可以将不同类型的数据打包,只要将我们的最前面的数据类型写为Object,这个Object就厉害了,所有类都继承了他。可是这样做是有问的,将数组定义为Object后,如果只需要存储某一种类型,而用户却存储了其他的类型,这个时候是不会报错的,这样会给我们的纠错带来困难。或许不止是纠错的问题。

<1>为了解决这个问题,我们引入了【队列】

【队列】其实是一个类,里面封装着改变数组的方法和属性,其中方法有这些:

添加数 ,删除数据,插入数据,获取数据,更新数据,获取数组队列中存储的元素个数

他这个类是:ArrayList.java
这里写图片描述
这里写图片描述

从API中下载到的队列类的方法。

你可以这样理解,队列这个类,我可以将我们的所需要储存数据,可以全部储存进去。然后我们可以像数组一样,在我们想调用的时候调用起来。

<2>.注意的一点

我们在上面开始提到,Object这个数据类型,可以让我们可以加入任何的其他数据,那就会有一个问题:“当只需要存储某一种类型,而用户却存储了其他的类型,这个时候是不会报错的,这样会给我们的纠错带来困难。或许不止是纠错的问题。”

此时,Java是这样处理的,在定义数组的时候,不指定数组的数据类型,而是使【泛型】。

泛型在Java中不是数据类型,只是一个用来表示数据类型的符号。

泛型的表示符号:E、K、V、…

|| 其中对于这些符号的意义:E - Element (在集合中使用,因为集合中存放的是元素)

T - Type(Java 类)

K - Key(键)

V - Value(值)

N - Number(数值类型)

? - 表示不确定的java类型

S、U、V - 2nd、3rd、4th types

(ps:这些符号多用就好。不需要特别记忆)

那么我们的ArrayList类的数据就是用这些泛型来写的,可是泛型不是一种数据类型,所以我们在将这个ArrayList类实例化对象的时候,我们需要将我们需要的数据类型给出来。

三.展示

输入:

import java.util.ArrayList;

public class J071601 {
public static void main(String [] args){

        ArrayList<String> list= new ArrayList<String>();
        list.add( “JAVA");
        list.add("learn");
        for(int n = 0;n<list.size();n++ ){

            Object s = list.get(n); 
            System.out.println(s);
        }

    }

输出:JAVA

learn

四.暂告一段落

我们回顾已经学了的东西,其实我们的基础可以放一放了,我们发现,我学到的东西还没有去搞一些事情,那么我们就要在以后的几次来用我们现在所学,来做一个画图板。嗯

(以上)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值