天天看点

JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用

JAVA把完事万物都定义为对象,而我们想使用数据类型也是可以引用的
左为基本数据类型,又为引用数据类型

byte Byte

int Integer

long Long

boolean Booleab

float Float

double Double

char Character

我们拿Integer来举例子
输出
JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
基本数据类型对象包装类的最常见作用

就是用于基本数据类型和字符串数据类型之间的转换

基本数据类型转成字符串

基本数据类型+“” Integer.toString(34)

字符串转成基本数据类型

输出的结果
JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
像其他的使用方法都是类似的,但是有特殊的,那就是boolean,一个是true一个是“true”,再比如你传的是abc转int类型,这就奇葩了,他会报数据格式异常的 当然,还有各种进制的转换,说白了就是几个方法,大家可以研究一下,这里就不多做赘述了 我们实际来一个小例子来突出他们的特性
这样得到的结果呢?
JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
这里就好理解了 JDK1.5版本以后出现的新特性

自动装箱

再来一个有意思的例子
这里输出多少?
JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
为什么会这样?

因为i和j是同一个Integer对象,在byte范围内,对于新特性,如果该数值已经存在,则不会再开辟新的空间

讲完杂七杂八的数据类型,我们接着讲数据类型存储,首先我们聊聊集合

为什么出现集合类

面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行了存储,集合就是存储对象最常用的一种方式

数组和集合类同时容器有何不同?

数组虽然也可以存储对象,但是长度是固定的,集合长度是可变的,数组中可以存储数据类型,集合只能存储对象

集合的特点

集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象

集合框架是不断的向上抽取的
JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
为什么会出现这么多的容器呢?

因为每一个容器对数据的存储方式都有不同,这个存储方式我们称之为:数据结构

我们会依次的学习这个数据结构
JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
根接口,我们来学习他们的共性方法
写法是这样写的,这里有疑问,为什么add参数是Object?

1.add方法的参数类型是Object,已便于接收任意类型的对象

2.集合中存储的都是对象的引用和地址,

所以我们还可以
得出结论
JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
我们再来讲一个交集
list只会保留和list1中相同的元素
JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
我们再来说下迭代器,也就是怎么取出数据操作
这样就能全部打印出来了
JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
那我们理解什么是迭代器?

其实就是集合取出元素的方式

就把取出方式定义在集合的内部,这样取出的方式就直接访问集合内容的集合,那么取出方式就会定义成内部类,而每个容器的数据结构都不同,所以取出的动作细节也不同,但是都有共性内容,判断,取出,那么可以将写共性抽取,那么这些内部类都符合一个规则,该规则就是iterator,如何获取集合的取出对象呢?通过一个对外提供的方法interator(); 大体的方向我们掌握了,这样我们就应该细分下去讲了,我们先说下List
Collection下有两个子接口,list和set,他们两个的区别就是

list:元素是有序的,元素可以重复,因为该集合体系有索引

set:元素是无序,元素不可以重复,不能索引

我们只要说的就是list,共性的就不讲了,我们、他独有的 List特有方法:凡是可以操纵交表的方法都是该体系的特有方法,也就是

add(index,element)

addAll(index Collection);

remove(index)

set(index)

get(index)

subList(from,to)

listIterator()

我们挨个说一遍就好了,这个本来就是老套路了,我们就算总结一下前面的知识
这里就涵盖了很多的list的知识点,不断向上抽取的一个过程了,我们输出的结果
JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
好的,那这样的话,我们本节课也就到这里,OK了,感谢你看了这么久,累了就喝杯水吧!