java中List集合及其實(shí)現(xiàn)類的方法詳解
List集合_List接口介紹
特點(diǎn)
1).有序的;
2).可以存儲(chǔ)重復(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) 向滾動(dòng)列表的末尾添加指定的項(xiàng)。 void add(String item, int index) 向滾動(dòng)列表中索引指示的位置添加指定的項(xiàng)。 void addActionListener(ActionListener l) 添加指定的動(dòng)作偵聽器以從此列表接收動(dòng)作事件。 void addItemListener(ItemListener l) 添加指定的項(xiàng)偵聽器以接收此列表的項(xiàng)事件。 void addNotify() 創(chuàng)建列表的同位體。 void deselect(int index) 取消選擇指定索引處的項(xiàng)。 AccessibleContext getAccessibleContext() 獲取與此 List 關(guān)聯(lián)的 AccessibleContext。 ActionListener[] getActionListeners() 返回已在此列表上注冊(cè)的所有動(dòng)作偵聽器的數(shù)組。 String getItem(int index) 獲取與指定索引關(guān)聯(lián)的項(xiàng)。 int getItemCount() 獲取列表中的項(xiàng)數(shù)。 ItemListener[] getItemListeners() 返回已在此列表上注冊(cè)的所有項(xiàng)偵聽器的數(shù)組。 String[] getItems() 獲取列表中的項(xiàng)。 <T extends EventListener> T[] getListeners(Class<T> listenerType) 返回目前已在此 List 上注冊(cè)為 FooListener 的所有對(duì)象的數(shù)組。 Dimension getMinimumSize() 確定此滾動(dòng)列表的最小大小。 Dimension getMinimumSize(int rows) 獲取具有指定行數(shù)的列表的最少維數(shù)。 Dimension getPreferredSize() 獲取此滾動(dòng)列表的首選大小。 Dimension getPreferredSize(int rows) 獲取具有指定行數(shù)的列表的首選維數(shù)。 int getRows() 獲取此列表中的可視行數(shù)。 int getSelectedIndex() 獲取列表中選中項(xiàng)的索引。 int[] getSelectedIndexes() 獲取列表中選中的索引。 String getSelectedItem() 獲取此滾動(dòng)列表中選中的項(xiàng)。 String[] getSelectedItems() 獲取此滾動(dòng)列表中選中的項(xiàng)。 Object[] getSelectedObjects() 獲取對(duì)象數(shù)組中此滾動(dòng)列表的選中項(xiàng)。 int getVisibleIndex() 獲取上次由 makeVisible 方法使其可視的項(xiàng)的索引。 boolean isIndexSelected(int index) 確定是否已選中此滾動(dòng)列表中的指定項(xiàng)。 boolean isMultipleMode() 確定此列表是否允許進(jìn)行多項(xiàng)選擇。 void makeVisible(int index) 使指定索引處的項(xiàng)可視。 protected String paramString() 返回表示此滾動(dòng)列表狀態(tài)的參數(shù)字符串。 protected void processActionEvent(ActionEvent e) 處理發(fā)生在此列表上的動(dòng)作事件,方法是將這些事件指派給所有已注冊(cè)的 ActionListener 對(duì)象。 protected void processEvent(AWTEvent e) 此滾動(dòng)列表的進(jìn)程事件。 protected void processItemEvent(ItemEvent e) 處理發(fā)生在此列表上的項(xiàng)事件,方法是將這些事件指派給所有已注冊(cè)的 ItemListener 對(duì)象。 void remove(int position) 從此滾動(dòng)列表中移除指定位置處的項(xiàng)。 void remove(String item) 從列表中移除項(xiàng)的第一次出現(xiàn)。 void removeActionListener(ActionListener l) 移除指定的動(dòng)作偵聽器,以便不再?gòu)拇肆斜斫邮談?dòng)作事件。 void removeAll() 從此列表中移除所有項(xiàng)。 void removeItemListener(ItemListener l) 移除指定的項(xiàng)偵聽器,以便不再?gòu)拇肆斜斫邮枕?xiàng)事件。 void removeNotify() 移除此列表的同位體。 void replaceItem(String newValue, int index) 使用新字符串替換滾動(dòng)列表中指定索引處的項(xiàng)。 void select(int index) 選擇滾動(dòng)列表中指定索引處的項(xiàng)。 void setMultipleMode(boolean b) 設(shè)置確定此列表是否允許進(jìn)行多項(xiàng)選擇的標(biāo)志。 api
常用方法(以下幾個(gè)方法都是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);
}
實(shí)現(xiàn)List接口的常用類_ArrayList
1).list接口常用實(shí)現(xiàn)類

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

方法:
無特有方法
案例
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
特點(diǎn)
- 使用鏈表實(shí)現(xiàn)
- 增刪快,查詢慢
圖解

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

