【java集合系列】---HashSet
在前面的博文中,小編主要簡單介紹了java集合中的總體框架,以及list介面中典型的集合ArrayList和LinkedList,接著,我們來看set的部分集合,set集合和數學意義上的集合沒有差別,作為集合,可以容納多個元素,而且,集合裡面沒有重複的元素,Set集合是Collection的子集,Set集合與Collection基本相同,沒有提供任何額外的方法,只是Set不允許包含重複的元素,今天這篇博文小編主要介紹Set集合中的HashSet,小編會通過簡單的demo來介紹set集合的特點,以及equals和hashCode方法,最後看一下HashSet的底層原始碼以及與hashMap的對比`(*∩_∩*)′,請小夥伴們多多指教`(*∩_∩*)′。我們知道Set的集合是無序、不可重複的集合,首先,我們來看一下HashSet,HashSet是set集合中用的最多的,so,我們來看下面的一個小例子:
package j2se.demo;
import java.util.HashSet;
public class SetTest1 {
public static void main(String[] args) {
HashSet set = new HashSet();
set.add("a");
set.add("b");
set.add("c");
set.add("d");
System.out.println(set);
}
}
執行如下所示:
通過這個例子我們可以看出來集合的第一個特點,無序,我們新增的時候,順序是abcd,出來的時候是dbca,這是集合的第一個特點;我們再向集合裡面新增一個a,如下所示:
package j2se.demo;
import java.util.HashSet;
public class SetTest1 {
public static void main(String[] args) {
HashSet set = new HashSet();
set.add("a");
set.add("b");
set.add("c");
set.add("d");
set.add("a");
System.out.println(set);
}
}
執行效果如下所示:
我們來看一下,到底是誰沒有新增進去呢?編寫相關程式碼,如下所示:
package j2se.demo;
import java.util.HashSet;
public class SetTest1 {
public static void main(String[] args) {
HashSet set = new HashSet();
System.out.println(set.add("a"));
set.add("b");
set.add("c");
set.add("d");
System.out.println(set.add("a"));
System.out.println(set);
}
}
執行如下所示:
在前面的博文中,小編主要簡單介紹了java集合中的總體框架,以及list介面中典型的集合ArrayList和LinkedList,接著,我們來看set的部分集合,set集合和數學意義上的集合沒有差別,作為集合,可以容納多個元素,而且,集合裡面沒有重複的元素,Set集合是Col
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
  根據上面的類圖,我們可以把java的所有集合分成三大類,其中Set集合類類似於一個糖罐子,把一個物件新增到Set集合裡面的時候,Set集合無法記住新增這個元素的順序,所以Set裡面的元素不能重複,否則系統無法準確識別這個元素;List集合非常像一個數組,她可以記住每次新增元素的順序,可以重複,只是List的長
集合--童年的美好時光集合,忽然讓小編想起那段美好的學生時光,集合第一次遇見她的時候,小編當年還是一個懵懂的丫頭,也不曾想過會在計算機的世界再次相遇,再回首,集合在數學中是一個基本概念,集合就是“一堆東 inpu skin lam 繼承 depend try put args port 2017-07-29 16:58:13
一、簡介
1、Set概念
Set可以理解為集合,非常類似數據概念中的集合,集合三大特征:1、確定性;2、互異性;3、無序性,因此Set實現類也有類似的
最近寫到LeetCode上的某一題LRUCache。可以採用LinkedHashMap實現,通過重寫removeEldestEntry方法,即可實現。
LinkedHashMap map;
public LRUCache(int capacity) {
通過 解決 roots java入門 算法 無限 不可用 但是 搜索 垃圾回收
如果不進行垃圾回收,內存遲早都會被消耗空,因為我們在不斷的分配內存空間而不進行回收。除非內存無限大,我們可以任性的分配而不回收,但是事實並非如此。
垃圾回收其實做了兩件事:1、發現無用的對象;2 span 相同 成員變量 pan 代碼 由於 stat spa pre 學習this關鍵字之前,先來看下對象創建的過程
1、分配對象空間,並將對象成員變量初始化為0或空
2、執行屬性值的顯示初始化
3、執行構造方法
4、返回對象的地址給相關的變量
本質
this關鍵字的本質 既然 生命 不依賴 影響 能夠 情況下 思想 static 程序 static方法就是沒有this的方法。在static方法內部不能調用非靜態方法,反過來是可以的。而且可以在沒有創建任何對象的前提下,僅僅通過類本身來調用static方法。這實際上正是static方法的主要用
Problem Description
設計一個學生新增和查詢的系統,從鍵盤讀入學生的資料,然後再從螢幕顯示出來。
Input
第一行有2個整數N和M,其中:N——學生數量,M——學生屬性數量; 第二行有M個字串,表示學生的屬性名稱,其中第1個屬性id表示關鍵字;其中各欄位屬性的資料型別
ArrayList和LinkedList是List介面的兩種實現,具有相同的查詢、插入、刪除操作,只是底層的實現方式不一樣。LinkedList是以雙向連結串列形式實現的集合類。
其增刪操作由於不需要移
獲取LinkedHashMap中的頭部元素(最早新增的元素):
時間複雜度O(1)
public <K, V> Entry<K, V> getHead(LinkedHashMap<K, V> map) {
retu
Set本身不保證順序/*
* HashSet是無序的; LinkedHashSet是按插入順序的; TreeSet是按升序的;
*
* HashMap是無序的;LinkedHashMap是按插
重構第二式:搬移方法 (Refactoring 2: Move Method) 毋容置疑,搬移方法(Move Method)應該是最常用的重構手段之一,正因為太常用而且較為簡單,以至於很多人
程式碼如下:
package imageIO;
import java.awt.EventQueue;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import org.open
有很多中操作XML檔案的方法,這裡介紹一下JDOM的使用方法和技巧。
建立XML文件
XML檔案是一種典型的樹形檔案,每個文件元素都是一個document元素的子節點。而每個子元素都是一個Element物件,物件可以向下包含。
1 因此我們可以通過先建立元素再將元
環境:
jdk1.8
這兩類(4個類)的比較經常出現在面試中:
解決思路:看原始碼
1.Hashtable和HashMap
1.Hashtable(注意table小寫)裡為了保證
Java集合類是一種非常實用的工具類,主要用於儲存、盛裝其它資料(集合裡只能儲存物件),因此集合類也被成為容器類。所有的集合類都位於java.util包下,在java.util.concurrent下還提供了一些支援多執行緒的集合類。Java的集合類主要由兩
建立
public HashSet() // 預設建構函式
public HashSet(Collection<? extends E> c) // 帶集合的建構函式
public HashSet(int initialCapacity,float load
其實我想要
一種美夢睡不著
一種心臟的狂跳
瓦解界線不被撂倒 奔跑 依靠
我心中最想要
看你看過的浪潮
陪你放肆地年少
——林俊杰【偉大的渺小】
------------
相關推薦
【java集合系列】---HashSet
【Java集合系列】 總體框架
【Java集合系列】 總體框架
【Java集合系列】---總體框架
【Java集合系列四】HashSet和LinkedHashSet解析
【深入學習java集合系列】LinkedHashMap的底層實現
【Java入門系列】垃圾回收
【Java入門系列】this關鍵字
【Java入門系列】static關鍵字
【java集合框架】SDUT 3360 學生資訊的新增與查詢
【Java集合類】LinkedList原始碼分析(jdk1.8)
【Java集合類】 LinkedHashMap(有序的map)獲取第一個元素和最後一個元素
【Java集合框架】Map與Set的有序與無序
【Java重構系列】重構31式之搬移方法
【Java Opencv系列】4.3讀取攝像頭並顯示
【java開發系列】— JDOM建立、修改、刪除、讀取XML檔案
【Java 集合類】Hashtable和HashMap、Vector和ArrayList,來說說
【java集合一】根介面Collection、Map
HashSet的使用【Java集合】
【 專欄 】- Java集合系列專欄