JAVA集合框架包含的内容
Java集合框架提供了一套性能優良、使用方便的接口和類,他們位于java.util包中。
Collection接口 主要有List、Set等實現類,Map接口主要有HashMap、TreeMap等實現類。Collections提供了對集合進行排序、遍歷等多種算法實現。
以下為Set集合的使用:存儲唯一的,無序的對象。派生類HashSet。
Set set=new HashSet();set.add("周五");set.add(199);set.add(23.55);set.add(100f);使用foreach方法進行輸出:
for (Object object : set) {System.out.println(object);}應該注意的是,set接口沒有get方法,所以不能用for循環遍歷輸出。
使用迭代器取值
Iterator its = set.iterator();while (its.hasNext()) {//進入循環輸出集合中的元素Object obj = its.next();System.out.println(obj);}程序運行結果為:
23.55 周五 100.0 199 ------------------- 23.55 周五 100.0 199TreeSet實現排序功能
Set set=new TreeSet(); set.add("2ee");set.add("jsk");set.add("sda");set.add("wql");set.add("sdj");for (Object object : set) {System.out.println(object);}Map接口
Map接口存儲一組鍵值對象,提供key到value的映射。
示例需求說明:
創建一個詩的集合,迭代出每首詩的名稱,作者,內容,
分析:
創建“詩”類Poem,屬性包括:名稱、作者、內容
使用HashMap存儲詩的信息,將詩的名稱作為key,詩內容作為value。
解決:
首先創建Poem類,類中包含私有屬性:名稱、作者、內容,并生成對應的get、set方法,生成全參構造函數和無參構造函數。
在測試類中對對象數組進行賦值:
Poem poem1=new Poem("春曉", "孟浩然","春眠不覺曉,處處聞啼鳥。夜來風雨聲,花落知多少。");Poem poem2=new Poem("鹿柴", "王維","空山不見人,但聞人語響。返影入深林,復照青苔上。");Poem poem3=new Poem("相思", "王維","紅豆生南國,春來發幾枝。愿君多采擷,此物最相思。");然后創建Map下的HashMap函數,
Map<String, Poem> map=new HashMap<String, Poem>();然后使用map.put添加數據:
map.put("春曉", poem1);map.put("鹿柴", poem2);map.put("相思", poem3);最后使用迭代器進行輸出:
Set keys=map.keySet(); Iterator its = keys.iterator();while(its.hasNext()){String key=(String) its.next();Poem poem=map.get(key);System.out.println(poem.getName()+poem.getAuthor()+poem.getWenzhang());}程序運行結果為:
相思 王維 紅豆生南國,春來發幾枝。愿君多采擷,此物最相思。 春曉 孟浩然 春眠不覺曉,處處聞啼鳥。夜來風雨聲,花落知多少。 鹿柴 王維 空山不見人,但聞人語響。返影入深林,復照青苔上。LinedList操作數據
插入、刪除操作頻繁時,可使用LinkedList來提高效率。
以下為常用的操作方法:
void addFirst(Object o)? ? ? ? ? ? ??在列表的首部添加元素
void addLast(Object o)? ? ? ? ? ? ??在列表的末尾添加元素
Object getFirst()? ? ? ? ? ? ? ? ? ? ? ??返回列表中的第一個元素
Object getLast()? ? ? ? ? ? ? ? ? ? ? ??返回列表中的最后一個元素
Object removeFirst()? ? ? ? ? ? ? ? ?刪除并返回列表中的第一個元素
Object removeLast()? ? ? ? ? ? ? ? ?刪除并返回列表中的最后一個元素
Map接口專門處理鍵值映射數據的存儲,可以根據鍵實現對值的操作。最常用的實現類是HashMap。
以下為常用的操作方法
Object put(Object key, Object val)? ? ? ? ? ? ? ? ? ? ?以“鍵-值對”的方式進行存儲
Object get (Object key)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?根據鍵返回相關聯的值,如果不存在指定的鍵,返回null
Object remove (Object key)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 刪除由指定的鍵映射的“鍵-值對”
int size()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?返回元素個數
Set keySet ()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??返回鍵的集合
Collection values ()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??返回值的集合
boolean containsKey (Object key)? ? ? ? ? ? ? ? ? ?如果存在由指定的鍵映射的“鍵-值對”,返回true
Hashtable和HashMap的異同
Hashtable繼承Dictionary類,HashMap實現Map接口。
Hashtable線程安全,HashMap線程非安全
Hashtable不允許null值,HashMap允許null值。
?
轉載于:https://www.cnblogs.com/sonder/p/8678345.html
總結
以上是生活随笔為你收集整理的JAVA集合框架包含的内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android使用VideoView播放
- 下一篇: 【页面传值6种方式】- 【JSP 页面传