1. 程式人生 > >java.util.Collections.singleton()的一些理解

java.util.Collections.singleton()的一些理解

 Set  set1 =new HashSet();
       set1.add(111);
       set1.add(11.11);
       set1.add("sss");
       for( Iterator it = set1.iterator();  it.hasNext(); )
       {
           System.out.println("value="+it.next().toString());
       }

set可以存放各種元素,然後使用迭代器進行遍歷,輸出

 //對於一些java.util.Collections
        //以下是java.util.Collections.singleton()方法的宣告。
        //
        //public static <T> Set<T> singleton(T o)
        String init[] = { "One", "Two", "Three", "One", "Two", "Three" };

        // create two lists
        List list1 = new ArrayList(Arrays.asList(init));
        List list2 = new ArrayList(Arrays.asList(init));

        // remove from list1
        list1.remove("One");  //只會移除第一個元素
        list1.add("One");
       // list1.removeAll("One");    這樣寫是不對的,因為removeAll中 需要的是Collection型別的
        System.out.println("List1 value: "+list1);

        // remove from list2 using singleton
        list2.removeAll(Collections.singleton("One"));

        System.out.println(Collections.singleton("One"));
        System.out.println("The SingletonList is :"+list2);

輸出:

List1 value: [Two, Three, One, Two, Three, One]
[One]   //  System.out.println(Collections.singleton("One")) 這個的輸出
The SingletonList is :[Two, Three, Two, Three]

相關推薦

java.util.Collections.singleton()的一些理解

Set set1 =new HashSet(); set1.add(111); set1.add(11.11); set1.add("sss");

結合java.util.TreeMap源碼理解紅黑樹

pen leaf tails 變化 col 般的 參考 some 解決 前言 本篇將結合JDK1.6的TreeMap源碼,來一起探索紅-黑樹的奧秘。紅黑樹是解決二叉搜索樹的非平衡問題。 當插入(或者刪除)一個新節點時,為了使樹保持平衡,必須遵循一定的規則,這個規則就是紅

04-java.util.Collections+Collections.sort()方法的練習

1、java.util.Collections:集合框架的工具類,裡面的方法都是靜態方法。此類完全由在collection上進行操作或返回collection的靜態方法組成。如果為此類的方法所提供的collection或類物件為null,則這些方法都將丟擲NullPointerException

關於Java定時器的一些理解

在做公司的一個專案的時候,有一個模組是團購。有這樣的需求,參與團購人數到達團購人數時則團購成功,否則當活動時間結束後團購失敗。這裡涉及到團購失敗後的退款問題。我也是第一次做這樣的需求,一開始並不知道如何下手。後來想到利用定時器去解決。因為訂單是關聯活動的id的,這樣活動id不會變。在定時任務執行是查

[Google Guava] 2.3-強大的集合工具類:java.util.Collections中未包含的集合工具

原文連結 譯文連結 譯者:沈義揚,校對:丁一 尚未完成: Queues, Tables工具類 任何對JDK集合框架有經驗的程式設計師都熟悉和喜歡java.util.Collections包含的工具方法。Guava沿著這些路線提供了更多的工具方法:適用於所有集合的靜態方法。這是Guava最流行和

Java.util.Collections

Java.util.Collections 類 作者: zccst Collections 類 java.util.Collections 類中定義了多種集合操作方法,實現了對集合操作方法,實現了對集合元素的排序、取極值、批量拷貝、集合結構轉換、迴圈移位以及匹配性檢查等功能

Java ActionListenner類的一些理解

  Java的ActionListenner事實上我去年年這個時候大概就已經接觸到了,也學會了比較簡單的使用。但卻始終不能理解ActionListenner的一系列的執行是怎麼維持這麼一個聯絡的?   我產生了很多疑問,但卻無法解決,也許是當初實在對Java理解得太淺了。   在一年後的今天,我再次接觸到

Java面向物件的一些理解重點和難點

java資料型別圖: ┏數值型━┳━整數型:byte short int long ┏基本資料型別━━┫ ┗━浮點型:float

[Google Guava]--java.util.Collections中未包含的集合工具(com.google.common.collect)

任何對JDK集合框架有經驗的程式設計師都熟悉和喜歡java.util.Collections包含的工具方法。Guava沿著這些路線提供了更多的工具方法:適用於所有集合的靜態方法。這是Guava最流行和成熟的部分之一。我們用相對直觀的方式把工具類與特定集合介面的對應關係歸納如下

關於java synchronized關鍵字的一些理解

看了java程式設計思想的併發這一章,發現對於synchronized關鍵字理解不夠到位,看了其他人的部落格,加深了一些理解:http://www.cnblogs.com/GnagWang/archi

java.util.Collections.copy():列表List拷貝

str info 初始化 random except ati 等於 可變 結果 今天同事問我怎樣將一個列表(list1)拷貝到另一個列表(list2),然後修改新的列表(list2)不會影響到舊的列表(list1),想了一想,這是深拷貝啊。 可是,除了循環new還有別的辦

面經手冊 · 第10篇《掃盲java.util.Collections工具包,學習排序、二分、洗牌、旋轉演算法》

![](https://img-blog.csdnimg.cn/20200910235321424.png) 作者:小傅哥 部落格:[https://bugstack.cn](https://bugstack.cn) >沉澱、分享、成長,讓自己和他人都能有所收穫!

聊聊高並發(二十四)解析java.util.concurrent各個組件(六) 深入理解AQS(四)

sar 成功 通知 ati help write ng- ads 同步 近期總體過了下AQS的結構。也在網上看了一些講AQS的文章,大部分的文章都是泛泛而談。又一次看了下AQS的代碼,把一些新的要點拿出來說一說。 AQS是一個管程。提供了一個主要的同步器的

Java集合操作類Collections一些常用方法

public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(34);

Java中關於單例模式的一些理解

單例模式是常見的設計模式之一,又細分為餓漢模式和懶漢模式,比較重要。 什麼是單例模式: 單例模式是為了避免重複生成同一個例項物件,而產生的一種模式。因為物件在記憶體中佔據空間比較大,相對而言,更希望對於一個已有的物件,不必要每次都新建一個相同的物件。多個變數指向同一個物件

JAVA初學:關於“面對物件”的一些理解與感悟

       從C語言開始接觸程式設計,“面向過程”的程式設計思想已經深深地刻在了腦海中。凡著手一個問題,必會不由自主地把它給分成幾步,考慮到每一個數據、每一步要得到的結果,剖析其中的邏輯結構。至此應該也算是入了門,但是未曾做過一些比較大的程式,對C/C++的理解還停留在比

關於jvm\hashmap和java資料結構個人的一些理解

Jvm 類載入器(驅動)、執行時資料區(記憶體)、執行引擎(cpu) 驅動讀取檔案 存入記憶體 cpu去執行記憶體中的資料 記憶體包括5各部分 程式計數器、java棧、本地方法棧、 方法區和java堆 程式計數器、java棧、本地方法棧是執行緒私有的 一個執行緒一個棧 堆和方法區是公有的

java併發程式設計中的一些理解

1、java併發程式設計中需要注意的挑戰以及應對策略? 在java併發程式設計中,會遇到上下文切換,死鎖等問題。要想減少上下文切換,主要有以下的方法: 無鎖併發程式設計,比如將資料的ID按照Hash演算法取模分段,不同的執行緒處理不同的段; CAS演算法;

聊聊高併發(二十四)解析java.util.concurrent各個元件(六) 深入理解AQS(四)

最近整體過了下AQS的結構,也在網上看了一些講AQS的文章,大部分的文章都是泛泛而談。重新看了下AQS的程式碼,把一些新的要點拿出來說一說。 AQS是一個管程,提供了一個基本的同步器的能力,包含了一個狀態,修改狀態的原子操作,以及同步執行緒的一系列操作。它是CLHLock

Java中通過this關鍵字呼叫構造方法的一些理解

  學習java時,理解的this關鍵字的實質是用來指向當前物件的一個指標。按照之前所學,理解它有以下三種用法加一個性質。1.在構造方法中使用this       關鍵字this可以出現在類的構造方法中,代表使用該構造方法所建立的物件。public class Tom {