00:00
来,那咱们就继续再往下看了啊,嗯,在这里呢,一个是对集合的一个理解,有什么用,对对吧,第二个就是集合里边存什么东西,大家要知道啊,再往下呢,就是在Java中啊,每一个不同的集合底层会对应什么呀,会对应。不同的数据结构。明白吧,在Java中,每一个不同的集合底层会对应不同的数据结构网,网什么呀,不同的集合中存储元素啊,等于将数据放到了不同的数据结构当中。什么是数据结构啊?就是数据存储的什么结构,就是数据结构。啊,不同的数据结构,数据存储方式不同。例如。
01:00
对吧,哎,例如什么呀,数组对吧?哎,二叉数是不是,哎链表哈希表对不对,哎以上啊以上这些都是常见的什么数据结构。数组。对吧,哎,是一个数据结构啊。二叉树也是个数据结构啊,链表也是吧,哈希表也是啊,等等等等对吧,还有图对不对?哎,多了去了啊,如果你要是计算机专业出身的话,你可能对这个可能比较了解一些啊,比较了解一些,那么在我在这里强调一下啊,在Java中,每一个不同的集合底层会对应不同的数据结构。往不同的集合中存储元素,等于将数据放到了不同的数据结构当中。你往这个集合里边放,可能是放到哈希表上了,你往那个集合里边放,可能是放到二叉树上面了,你往那个集合里边放,哎,你可能放到数组里边了,就是这个意思。
02:05
啊,我不知道大家理解没理解这个意思啊,就是说你往集合C1,集合C1中放数据。可能是放到哪儿啊,放到数组上了。啊,你往什么呀,这个集合C2中放数据可能是放到什么呀,二叉数上了,对,总之呢,你可能会用不同的数集合,就是选择了不同的数据结构啊,就是你使用什么呀,使用不同的集合等同于使用等同于使用了不同的数据结构。啊,数据结构。对,你有这个菜篮子,塑料塑料袋布袋子是不是啊,就是你你在现实生活中就是这样的啊,就是这样的,Java中每一个不同的集合底层都会对应不同数据结构啊,往不同集合里边放的元素等于放到不同的数据结构里边了。
03:00
对吧,啊,你C1集合放放到放到数组上面了,你C2的话放放到哪儿啊,放到这个二叉树上。啊,你需要知道的是什么呀,你在Java集合这一章。这一章节啊,你需要掌握的不是精通数据结构。啊,不是精度数据结构啊,Java中已经将数据结构实现了。已经写好了。这些常用的集合类,你只需要掌握怎么用啊,你只需要掌握怎么用。啊,在什么情况下选择哪一种合适的数据结构。或者是在什么情况下选择哪一种合适的即可去使用即可,明白吗?所以说你不要说老师我不是计算机专业出身的,你让我叭叭叭在这说这个学这个数据结构,那我觉得这个也不太合适啊,不太合适,Java之所以好学是因为什么呀?啊是因为。
04:07
他已经把类给我们写好了。就是数据结构你不需要去实现了,听懂了吧,这种数据结构你不需要去实现了,它已经写好对应的类了,就这意思。Java中有类啊,你只要你对象你,比如说你你有这么一个对象,它就表示一个数组这样的数据结构,你你一个这样的对象就表示哈希表这样的一个数据结构,你你有这样一个对象,就表示底层用的是个链表数据结构,你这样一个对象就表示底层它采用的是二叉树的这样的一个数据结构,对你有不同对象,底层有不同的数据结构啊,他已经把数据结构给你实现好了,你不需要去实现,你不需要去精通这个数据结构,但你可能需要知道的是我在什么情况下,我应该用哪个集合。我在什么情况下应该用哪个集合,就这意思。明白说的意思吗?啊,所以说这块呢,咱们还是得得认清楚了,各位啊,因为我们毕竟是学他这个JDK当中带的这些东西来把JDK打开对吧,我们来看看加完U这个包下,都在这个包厢,各位啊,都在这个包下。
05:06
对,你看这个包下有aist,你一看就知道它这个集合底层是一个数组吧。你一听这名字啊,List呀,一看这个集合底层采用的数据结构就是一个数组吗?是不是?那你你再往下看一看,它除这个之外,还有一个叫做什么叫link的,对吧,叫link的list,那一看就知道它底层是一个链表啊。是不是?哎,它是个链表的这样的数据结构啊,你再从这看它这个哈希map对不对,一看底层就是一个什么呀,叫做哈希表的数据结构吧,是不是?哎,一个哈西表的数据结构啊,然后呢,你在这里再看一看,以T开始的叫tree set tree map,一看一个tree开始的就知道它是数吧,是不是,它是二叉树的这种数据结构吧,对吧,它底层都已经写好了,你只需要通过构造方法,你看干啥呀,去拗对象就行了,你拗出这个对象,那就代表采用的二叉树,如果你拗的是什么呀,是link list这个类的构造方法拗出来的,那就表示你底层的是一个什么呀?哎,是一个链表的数据结构,如果你new的是一个什么呀,叫做a list这个集合,那就表示你底层啊,哎,自动怎么着?
06:17
使用的是哪一种数据结构啊,啊,使用的是我们的数组这种数据结构啊,你有不同的对象,你会使用不同的数据结构啊,你比如举一个例子,你有一个。对吧,哎,这个集合,这是创建一个集合,底层是数组对吧?哎,你有一个什么呀,Link list对吧,这也是创建一个集合对象对不对,底层是,哎,叫做链表。是不是,然后呢,你有一个什么呀,叫吹吹site,哎,这个也是等于是创建一个集合对象,对吧,底层是什么二叉树。就是就这样的啊,所以Java还是比较好学的,不用太担心,说Java这块这个东西我不懂数据结构,能学这玩意儿吗?是不是,哎,也可以,没问题啊,没问题。
我来说两句