導航:首頁 > 編程語言 > java字元串list集合

java字元串list集合

發布時間:2024-07-19 02:53:34

java中的List的使用

List<E>([]內的內容可省略),與數組類似:
實例化:List[<數據類型>] list = new ArrayList[<數據類型>]();
獲得集合內元素個數:list.size();

添加元素:
默認添加:list.add(e);
指定下標添加(添加後下標後的元素向後挪一位):list.add(index,e);

刪除元素:
返回是否刪除:list.remove(e);
直接刪除指定下標的元素(只刪除找到的第一個相符合的元素):list.remove(index);

替換元素(替換掉指定下標的元素):list.set(index,e);

取出元素:list.get(index);

清空集合:list.clear();

判斷集合中是否存在某個元素(存在返回true,不存在返回false):list.contains(e);

對比兩個集合中的所有元素:
兩個對象一定相等:list.equals(list2);
兩個對象不一定相等:list.hashCode() == list2.hashCode();
(兩個相等對象的equals方法一定為true, 但兩個hashcode相等的對象不一定是相等的對象。)

獲得元素下標:
元素存在則返回找到的第一個元素的下標,不存在則返回-1:list.indexOf(e);
元素存在則返回找到的最後一個元素的下標,不存在則返回-1:list.lastIndexOf(e);

判斷集合是否為空(空則返回true,非空則返回false):list.isEmpty();

返回Iterator集合對象:list.iterator();

將集合轉換為字元串:list.toString();

截取集合(從fromIndex開始在toIndex前結束,[fromIndex,toIndex)):list.subList(fromIndex,toIndex);

將集合轉換為數組:
默認類型:list.toArray();
指定類型(objects為指定類型的數組對象,並將轉換好的數組賦值給objects數組):list.toArray(objects);

以上為List常用的方法。

㈡ JAVA中幾種集合(List、Set和Map)的區別

Set對每個對象只接受一次,並使用自己內部的排序方法(通常,你只關心某個元素是否屬於Set,而不關心它的順序--否則應該使用List)。Map同樣對每個元素保存一份,但這是基於"鍵"的,Map也有內置的排序,因而不關心元素添加的順序。如果添加元素的順序對你很重要,應該使用 LinkedHashSet或者LinkedHashMap. 總結:List有順序有重復沒有排序,set無重復有排序,map的key也和set一樣。如果想跟List一樣需要有插入元素的順序,請使用LinkedHashSet或者LinkedHashMap。 List的功能方法 實際上有兩種List: 一種是基本的ArrayList,其優點在於隨機訪問元素,另一種是更強大的LinkedList,它並不是為快速隨機訪問設計的,而是具有一套更通用的方法。 List : 次序是List最重要的特點:它保證維護元素特定的順序。List為Collection添加了許多方法,使得能夠向List中間插入與移除元素(這只推薦LinkedList使用。)一個List可以生成ListIterator,使用它可以從兩個方向遍歷List,也可以從List中間插入和移除元素。 ArrayList : 由數組實現的List。允許對元素進行快速隨機訪問,但是向List中間插入與移除元素的速度很慢。ListIterator只應該用來由後向前遍歷ArrayList,而不是用來插入和移除元素。因為那比LinkedList開銷要大很多。 LinkedList : 對順序訪問進行了優化,向List中間插入與刪除的開銷並不大。隨機訪問則相對較慢。(使用ArrayList代替。)還具有下列方法:addFirst(), addLast(), getFirst(), getLast(), removeFirst() 和 removeLast(), 這些方法 (沒有在任何介面或基類中定義過)使得LinkedList可以當作堆棧、隊列和雙向隊列使用。 Set的功能方法 Set : 存入Set的每個元素都必須是唯一的,因為Set不保存重復元素。加入Set的元素必須定義equals()方法以確保對象的唯一性。Set與Collection有完全一樣的介面。Set介面不保證維護元素的次序。 HashSet : 為快速查找設計的Set。存入HashSet的對象必須定義hashCode()。 TreeSet : 保存次序的Set, 底層為樹結構。使用它可以從Set中提取有序的序列。 LinkedHashSet : 具有HashSet的查詢速度,且內部使用鏈表維護元素的順序(插入的次序)。於是在使用迭代器遍歷Set時,結果會按元素插入的次序顯示。 Map的功能方法 方法put(Object key, Object value)添加一個「值」(想要得東西)和與「值」相關聯的「鍵」(key)(使用它來查找)。方法get(Object key)返回與給定「鍵」相關聯的「值」。可以用containsKey()和containsValue()測試Map中是否包含某個「鍵」或「值」。標準的Java類庫中包含了幾種不同的Map:HashMap, TreeMap, LinkedHashMap, WeakHashMap, IdentityHashMap。它們都有同樣的基本介面Map,但是行為、效率、排序策略、保存對象的生命周期和判定「鍵」等價的策略等各不相同。 執行效率是Map的一個大問題。看看get()要做哪些事,就會明白為什麼在ArrayList中搜索「鍵」是相當慢的。而這正是HashMap提高速度的地方。HashMap使用了特殊的值,稱為「散列碼」(hash code),來取代對鍵的緩慢搜索。「散列碼」是「相對唯一」用以代表對象的int值,它是通過將該對象的某些信息進行轉換而生成的。所有Java對象都能產生散列碼,因為hashCode()是定義在基類Object中的方法。 HashMap就是使用對象的hashCode()進行快速查詢的。此方法能夠顯著提高性能。 Map : 維護「鍵值對」的關聯性,使你可以通過「鍵」查找「值」 HashMap : Map基於散列表的實現。插入和查詢「鍵值對」的開銷是固定的。可以通過構造器設置容量capacity和負載因子load factor,以調整容器的性能。 LinkedHashMap : 類似於HashMap,但是迭代遍歷它時,取得「鍵值對」的順序是其插入次序,或者是最近最少使用(LRU)的次序。只比HashMap慢一點。而在迭代訪問時發而更快,因為它使用鏈表維護內部次序。 TreeMap : 基於紅黑樹數據結構的實現。查看「鍵」或「鍵值對」時,它們會被排序(次序由Comparabel或Comparator決定)。TreeMap的特點在於,你得到的結果是經過排序的。TreeMap是唯一的帶有subMap()方法的Map,它可以返回一個子樹。 WeakHashMao : 弱鍵(weak key)Map,Map中使用的對象也被允許釋放: 這是為解決特殊問題設計的。如果沒有map之外的引用指向某個「鍵」,則此「鍵」可以被垃圾收集器回收。 IdentifyHashMap : 使用==代替equals()對「鍵」作比較的hash map。專為解決特殊問題而設計。

㈢ java 演算法題:將下面的字元串按規則拆開,保存進list集合中

用String類的split函數先按中文逗號切分,再按"#"切分,就可以把此字元串前面的字母保存在集合a中,將後面的文字保存在集合b中。具體的Java程序如下:

importjava.util.ArrayList;
importjava.util.List;
publicclassCC{
publicstaticvoidmain(String[]args){
Strings="yw#語文,ss#數學,yy#英語,ty#體育";
List<String>a=newArrayList<String>();
List<String>b=newArrayList<String>();
String[]s1=s.split(",");
for(Stringtmp:s1){
String[]s2=tmp.split("#");
a.add(s2[0]);
b.add(s2[1]);
}
for(inti=0;i<a.size();i++)
System.out.print(a.get(i)+"");
System.out.println();
for(inti=0;i<b.size();i++)
System.out.print(b.get(i)+"");
System.out.println();
}
}

運行結果:

yw ss yy ty
語文 數學 英語 體育

閱讀全文

與java字元串list集合相關的資料

熱點內容
虛擬伺服器如何查路由器埠 瀏覽:236
ipad怎麼增加app拓展塢 瀏覽:254
安卓軟體開發公司如何選擇 瀏覽:664
大型解壓器怎麼做 瀏覽:173
如何保存網頁成PDF 瀏覽:488
linux怎麼編譯內核 瀏覽:432
solidworks入門pdf 瀏覽:819
中國工商銀行app如何看支行 瀏覽:433
wps弄照片到文件夾 瀏覽:463
大眾如何在線編程 瀏覽:787
ipad如何關閉app中的app 瀏覽:442
大腦認知pdf 瀏覽:441
程序員大方 瀏覽:794
怎樣加密微信聊天記錄簡單點 瀏覽:387
python數據類型狀態判斷 瀏覽:47
java文件打開對話框 瀏覽:824
pdf怎麼打勾 瀏覽:21
java資料庫insert 瀏覽:668
金山雲新用戶伺服器 瀏覽:719
量品量體師app下載後如何注冊 瀏覽:911