java中List集合及其實現(xiàn)類的方法詳解
List集合_List接口介紹
特點
1).有序的;
2).可以存儲重復(fù)元素;
3).可以通過索引訪問;
List<String> list = new ArrayList<>();
list.add("張無忌");
list.add("張三豐");
list.add("章子怡");
list.add("章子怡");//OK的,可以添加
for(String s : list){
System.out.println(s);//有序的
}
方法
繼承了Collection接口的所有方法,并且又有很多自己的方法
void add(String item) 向滾動列表的末尾添加指定的項。 void add(String item, int index) 向滾動列表中索引指示的位置添加指定的項。 void addActionListener(ActionListener l) 添加指定的動作偵聽器以從此列表接收動作事件。 void addItemListener(ItemListener l) 添加指定的項偵聽器以接收此列表的項事件。 void addNotify() 創(chuàng)建列表的同位體。 void deselect(int index) 取消選擇指定索引處的項。 AccessibleContext getAccessibleContext() 獲取與此 List 關(guān)聯(lián)的 AccessibleContext。 ActionListener[] getActionListeners() 返回已在此列表上注冊的所有動作偵聽器的數(shù)組。 String getItem(int index) 獲取與指定索引關(guān)聯(lián)的項。 int getItemCount() 獲取列表中的項數(shù)。 ItemListener[] getItemListeners() 返回已在此列表上注冊的所有項偵聽器的數(shù)組。 String[] getItems() 獲取列表中的項。 <T extends EventListener> T[] getListeners(Class<T> listenerType) 返回目前已在此 List 上注冊為 FooListener 的所有對象的數(shù)組。 Dimension getMinimumSize() 確定此滾動列表的最小大小。 Dimension getMinimumSize(int rows) 獲取具有指定行數(shù)的列表的最少維數(shù)。 Dimension getPreferredSize() 獲取此滾動列表的首選大小。 Dimension getPreferredSize(int rows) 獲取具有指定行數(shù)的列表的首選維數(shù)。 int getRows() 獲取此列表中的可視行數(shù)。 int getSelectedIndex() 獲取列表中選中項的索引。 int[] getSelectedIndexes() 獲取列表中選中的索引。 String getSelectedItem() 獲取此滾動列表中選中的項。 String[] getSelectedItems() 獲取此滾動列表中選中的項。 Object[] getSelectedObjects() 獲取對象數(shù)組中此滾動列表的選中項。 int getVisibleIndex() 獲取上次由 makeVisible 方法使其可視的項的索引。 boolean isIndexSelected(int index) 確定是否已選中此滾動列表中的指定項。 boolean isMultipleMode() 確定此列表是否允許進行多項選擇。 void makeVisible(int index) 使指定索引處的項可視。 protected String paramString() 返回表示此滾動列表狀態(tài)的參數(shù)字符串。 protected void processActionEvent(ActionEvent e) 處理發(fā)生在此列表上的動作事件,方法是將這些事件指派給所有已注冊的 ActionListener 對象。 protected void processEvent(AWTEvent e) 此滾動列表的進程事件。 protected void processItemEvent(ItemEvent e) 處理發(fā)生在此列表上的項事件,方法是將這些事件指派給所有已注冊的 ItemListener 對象。 void remove(int position) 從此滾動列表中移除指定位置處的項。 void remove(String item) 從列表中移除項的第一次出現(xiàn)。 void removeActionListener(ActionListener l) 移除指定的動作偵聽器,以便不再從此列表接收動作事件。 void removeAll() 從此列表中移除所有項。 void removeItemListener(ItemListener l) 移除指定的項偵聽器,以便不再從此列表接收項事件。 void removeNotify() 移除此列表的同位體。 void replaceItem(String newValue, int index) 使用新字符串替換滾動列表中指定索引處的項。 void select(int index) 選擇滾動列表中指定索引處的項。 void setMultipleMode(boolean b) 設(shè)置確定此列表是否允許進行多項選擇的標(biāo)志。 api
常用方法(以下幾個方法都是List接口中特有的方法)
1).增:public void add(int index,E e):將e添加到當(dāng)前集合的index位置。
2).刪:public E remove(int index):刪除index位置上的元素,并將刪除的元素返回。
3).改:public E set(int index,E element):將element替換index位置上的元素,并將原index位置上的元素返回。
4).查:public E get(int index):獲取index位置上的元素。
示例代碼:
public static void main(String[] args) {
//List集合中增加自己的add方法,add(int index,E e);
List<String> list=new ArrayList<>();
list.add("aaaa");
list.add("bbbb");
list.add("cccc");
list.add(1,"dddd");
System.out.println(list);
//刪除指定索引的元素,并將刪除的元素返回
String removeStr=list.remove(2);
System.out.println(removeStr);
System.out.println(list);
//修改指定索引位置上的元素set(int index,E e),并將原index位置上的元素返回
String setStr=list.set(2,"ffff");
System.out.println(setStr);
System.out.println(list);
//通過索引獲取指定索引上的元素
String getStr=list.get(2);
System.out.println("索引為3的元素為:"+getStr);
System.out.println(list);
}
實現(xiàn)List接口的常用類_ArrayList
1).list接口常用實現(xiàn)類

2).ArrayList
特點:
- 查詢快----使用索引
- 增刪慢---需要擴容,移位
圖解:

方法:
無特有方法
案例
public static void main(String[] args) {
//List集合中增加自己的add方法,add(int index,E e);
ArrayList<String> list=new ArrayList<>();
list.add("aaaa");
list.add("hhhh");
list.add("cccc");
list.add(1,"dddd");
System.out.println(list);
//刪除指定索引的元素,并將刪除的元素返回
String removeStr=list.remove(2);
System.out.println(removeStr);
System.out.println(list);
//修改指定索引位置上的元素set(int index,E e),并將原index位置上的元素返回
String setStr=list.set(2,"ffff");
System.out.println(setStr);
System.out.println(list);
//通過索引獲取指定索引上的元素
String getStr=list.get(2);
System.out.println("索引為3的元素為:"+getStr);
System.out.println(list);
}
3).LinkedList
特點
- 使用鏈表實現(xiàn)
- 增刪快,查詢慢
圖解

方法
新增了一些方法,可以模擬棧、隊列:
1).public void push(Object o):壓棧 等同于addFirst(E e) ,將指定元素添加到此集合的開頭
2).public E pop():彈棧--如果沒有元素,會拋異常;
public E poll():彈棧--如果沒有元素,會返回null【建議使用】
案例:
public class Demo {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.push("孫悟空");
list.push("豬八戒");
list.push("沙和尚");
System.out.println(list);
while (list.size() > 0) {
System.out.println("彈出一個:" + list.poll());
System.out.println("集合大?。? + list.size());
}
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java+SpringBoot設(shè)計實現(xiàn)評教系統(tǒng)
這篇文章主要介紹了用過Java SpringBoot實現(xiàn)一個簡單的評價系統(tǒng),可以做到學(xué)生管理、教師管理、評教管理、指標(biāo)管理、課程管理等。感興趣的可以了解一下2021-12-12
java 下執(zhí)行mysql 批量插入的幾種方法及用時
java 下執(zhí)行mysql 批量插入的幾種方法及用時,1000次插入方法的比較。2013-04-04
如何解決idea的Translation插件google翻譯無法使用問題
這篇文章主要介紹了如何解決idea的Translation插件google翻譯無法使用問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
SpringBoot敏感數(shù)據(jù)脫敏的處理方式
在Spring Boot中處理敏感數(shù)據(jù)脫敏,可以通過以下幾種方式實現(xiàn),確保敏感信息在接口返回、日志輸出、數(shù)據(jù)庫存儲等環(huán)節(jié)得到保護,文中通過代碼示例講解的非常詳細,需要的朋友可以參考下2025-03-03

