DAY30-JAVA的Set、List、Map介面

Set介面

在Set中的元素不能重复出现,由於JAVA中的Set是一个介面,它是Collection的子介面,因此继承所有Collection介面的函数。必须利用java.util.*将java.util载入,才能顺利编译与执行。

HashSet类别
在储存资料时,最常见的方式就是一笔一笔依序将资料存入阵列。HashSet类别实作Set介面,它利用杂凑表(Hash Table)演算法来改进执行的效率。HashSet物件里的元素都是唯一,因为HashSet具有不可重复性,此外,HashSet里的元素并不能保证排列的顺序和原先加入时的顺序相同,这是因为HashSet不具有次序性。

TreeSet类别
存放在HashSet的元素是没有顺序的,如果希望加入元素时,这些元素可以自动排序,此时利用TreeSet来完成。TreeSet实作SortedSet介面,因此承袭SortedSet介面中,自然排序的特性,也就是会自动将元素由小到大排序。

List介面

List是串列的意思,在JAVA里,List也是集合的一种。List中的元素会一个接一个串接在一起,因此是有前後次序的。和Set不同的是,它是属於有序集合物件(ordered collection),也就是会依照特定顺序排序。储存在List中的元素可以重复,且元素具有索引值(index),因此我们可以利用这个索引值进行类似阵列存取元素的动作。
SortedSet是自动排序的集合物件(Sorted Collection),它会根据元素本身的大小来排列;而List是属於有序的集合物件(ordered collection),它会依照索引值来排列元素的位置。

LinkedList类别
当我们在List中增加或删除元素时,索引值会自动重新排序。LinkedList类别是实作List介面的类别,List介面又继承Collection介面,因此LinkedList类别的函数与List介面的函数相同。

ArrayList类别
ArrayList类别也是实作List介面,与LinkedList不同的是,LinkedList在加入或删除元素时都是从物件的起始或结尾处,而ArrayList利用索引值(index)在指定的位置进行这些动作。ArrayList物件也可以看成是一个动态的阵列,可以自行调整阵列的大小。

Map介面

Map要以关键值(key)储存,这个关键值会对应到指定的资料,即对应值(value)。Map介面是以Map<K,V>表示,其中K是关键值Key,V是对应值Value。

HashMap类别
HashMap是实作Map介面的类别,其储存的元素分为关键值Key与对应值Value。

HashMap<Integer,String> hmap = new HashMap<Integer,String>();

TreeMap类别
SortedMap是Map的子介面,TreeMap类别是实作SortedMap介面的类别,其储存的元素为关键值Key与对应值Value,元素会依关键值由小到大排序。TreeMap的关键值必须是唯一存在,而且不能为null,但对应值则可以重复。

Oh My God!!!!!!
完成30天挑战啦啦啦啦啦啦啦啦!!!!
真的太替自己感到骄傲了~~~
谢谢大家看到这(鞠躬
也辛苦自己了(捶肩膀
後~会~有~期~

菜鸟工程师的体脂肪

菜鸟工程师也有分享食记,欢迎大家追踪喔~~
https://instagram.com/engineer_bodyfat?utm_medium=copy_link


<<:  找LeetCode上简单的题目来撑过30天啦(DAY17)

>>:  Day17 用python写UI-聊聊Listbox基本操作

Day10 Collectionview小实作4

紧接着昨天~ 我们写了一个func 并且利用结构加入阵列的方式写入每个变数的字串以及图片。 而後在生...

[Day 12] 决策树 (Decision tree)

决策树 (Decision tree) 今日学习目标 决策树演算法介绍 决策树如何生成? 如何处理分...

Day16法式甜点凸肚脐贝壳-优雅玛德莲Madeleines

这次遇到玛德莲是一场意外,与好姊妹见面时,突然给了我玛德莲的模子。看着一头雾水的雪伦,好姊妹才现他搞...

Keil error: #101: “name“ has already been declared in the current scope解决方法

keil编译时发生一连串#101 error问题 出问题程序码范例 #include <std...

JS 13 - Getter & Setter

大家好! 理解完物件继承的方法,就要接续介绍今天的 Getter 和 Setter 了。 我们进入今...