Java 之 集合體系(二 List)

2021-08-15 03:03:28 字數 1780 閱讀 3174

資料可重複,不排序,執行緒不安全

下面這個例子是將集合中的重複元素去掉:

/**

* a:案例演示

* 需求:arraylist去除集合中字串的重複值(字串的內容相同)

* 思路:建立新集合方式

*/public static void main(string args)

/** 去除重複

* 1,返回arraylist

* 2,引數列表arraylist

*/public static arraylist getsingle(arraylist list)

}return newlist; //將新集合返回

}

上面是對基本資料型別這樣做事可以的,但是對於複雜資料型別就不可以了。contains的底層使用的是equals方法進行兩個元素比較的,但是兩個物件的使用equals進行比較的是位址值,所以永遠都是不相同的。無法取出相同元素物件;

解決方案:物件重寫equals方法,內部進行比較物件的屬性值就可以判斷是否相同元素了;

在arrays中有個aslist();可以將陣列轉換成集合,但是這個集合是不可以增加的;就是簡單的使用集合的思想去運算元組而已;

集合巢狀,使用for迴圈簽到遍歷輸出即可;

* public void addfirst(e e)及addlast(e e)

* public e getfirst()及getlast()

* public e removefirst()及public e removelast()

* public e get(int index);

public static void main(string args)

鍊錶查詢慢,上面的get方法中是折半查詢的;

* 棧: 先進後出 

* 佇列:先進先出

需求:請用linkedlist模擬棧資料結構的集合,並測試

public class stack 

public object out()

public boolean isempty()

}

第一:普通的for迴圈遍歷

arraylistlist = new arraylist<>();

list.add("a");

list.add("b");

list.add("b");

list.add("c");

list.add("d");

//1,普通for迴圈刪除,索引要--

for(int i = 0; i < list.size(); i++)

}

第二:

arraylistlist = new arraylist<>();

list.add("a");

list.add("b");

list.add("b");

list.add("c");

list.add("d");

iteratorit = list.iterator();

while(it.hasnext())

}

第三:直接撥錯;底層使用的也是迭代器;

//3,增強for迴圈,增強for迴圈不能刪除,只能遍歷

for (string string : list)

}

JAVA集合體系整理彙總

乙個是以map介面為延伸 乙個是以collection介面延伸 1.1 map介面向下延伸,又分為兩大類 一 hashmap 底層鍵值對 key value 執行緒不安全,同理效率高 無序的 二 hashtable 底層鍵值對 key value 執行緒安全,同理效率低 無序的 三 treemap ...

Map 集合體系

map 集合體系 1 特點 map是map集合體系的根介面 1 鍵值對儲存 key value 乙個鍵值對對應map集合中的乙個元素 2 鍵 無序 無下標元素不允許重複 3 值 無序無下標 元素允許重複 常用方法 1 put k key,v value 往map集合中新增乙個鍵值對,如果map沒有存...

java基礎重要知識 集合體系

集合體系 一.單列集合 collection collection 以單個元素形式儲存 list集合 有序,有索引,可重複 arraylist 陣列結構,查詢快,增刪慢 增加 add e e 將指定的元素追加到此列表的末尾 刪除 remove int index 刪除該集合中指定位置的元素 remo...