java中List集合及其實現(xiàn)類的方法詳解
List集合_List接口介紹
特點
1).有序的;
2).可以存儲重復元素;
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 關聯(lián)的 AccessibleContext。 ActionListener[] getActionListeners() 返回已在此列表上注冊的所有動作偵聽器的數(shù)組。 String getItem(int index) 獲取與指定索引關聯(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) 設置確定此列表是否允許進行多項選擇的標志。 api
常用方法(以下幾個方法都是List接口中特有的方法)
1).增:public void add(int index,E e):將e添加到當前集合的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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Mybatis實現(xiàn)SQL映射的兩種方法(xml文件形式和注解形式)
這篇文章主要介紹了Mybatis實現(xiàn)SQL映射的兩種方法(xml文件形式和注解形式),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07詳解SpringBoot 解決攔截器注入Service為空問題
這篇文章主要介紹了詳解SpringBoot 解決攔截器注入Service為空問題的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06spring cloud oauth2 feign 遇到的坑及解決
這篇文章主要介紹了spring cloud oauth2 feign 遇到的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03IntelliJ IDEA 2020.3 重大特性(新功能一覽)
這篇文章主要介紹了IntelliJ IDEA 2020.3 重大特性(新功能一覽),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12