Java—List的用法與實例詳解

List特點和常用方法

List是有序、可重復的容器。

有序指的是:List中每個元素都有索引標記。可以根據元素的索引標記(在List中的位置)訪問元素,從而精確控制這些元素。

可重復指的是:List允許加入重復的元素。更確切地講,List通常允許滿足e1.equals(e2)?的元素重復加入容器;?

除了Collection接口中的方法,List多了一些跟順序(索引)有關的方法:

方法

說明

void ? add (int index, Object element)

在指定位置插入元素,以前元素通通后移一位

Object ? set (int index,Object element)

修改指定位置的元素

Object ?get (int index)

返回指定位置的元素

Object ? remove (int index)

刪除指定位置的元素,后面元素通通前移一位

int? indexOf (Object o)

返回第一個匹配元素的索引。如果沒有該元素,返回-1

int? lastIndexOf (Object o)?

返回最后一個匹配元素的索引。如果沒有該元素,返回-1

?List接口常用的實現類有3個:ArrayList、LinkedList、Vector。

【示例1】?List常用方法

public class   TestList {/*** 測試add/remove/size/isEmpty/contains/clear/toArrays等方法*/public static void   test01() {List<String> list = new   ArrayList<String>();System.out.println(list.isEmpty());   // true,容器里面沒有元素list.add("高淇");System.out.println(list.isEmpty());   // false,容器里面有元素list.add("高小七");list.add("高小八");System.out.println(list);System.out.println("list的大小:" +   list.size());System.out.println("是否包含指定元素:" +   list.contains("高小七"));list.remove("高淇");System.out.println(list);Object[] objs = list.toArray();System.out.println("轉化成Object數組:" +   Arrays.toString(objs));list.clear();System.out.println("清空所有元素:" +   list);}public static void   main(String[] args) {test01();}
}


示例1 運行效果圖

【示例2】?List中多個容器操作方法


public class   TestList {public static void   main(String[] args) {test02();}/*** 測試兩個容器之間元素處理*/public static void test02(){List<String> list = new   ArrayList<String>();list.add("高淇");list.add("高小七");list.add("高小八");List<String> list2 = new   ArrayList<String>();list2.add("高淇");list2.add("張三");list2.add("李四");System.out.println(list.containsAll(list2));   //false list是否包含list2中所有元素System.out.println(list);
//     list.addAll(list2);         //將list2中所有元素都添加到list中
//     System.out.println(list);  
//     list.removeAll(list2);      //從list中刪除同時在list中存在的元素
//     System.out.println(list);list.retainAll(list2);      //取list和list2的交集System.out.println(list);}
}


【示例3】?測試List中索引操作常用方法

public class   TestList {public static void   main(String[] args) {test03();}/*** 測試List中關于索引操作的方法*/public static void   test03(){List<String> list = new   ArrayList<String>();list.add("A");list.add("B");list.add("C");list.add("D");System.out.println(list);   //[A, B, C, D]list.add(2,"高");System.out.println(list);   //[A, B, 高,   C, D]list.remove(2);            System.out.println(list);   //[A, B, C, D]list.set(2, "c");       System.out.println(list);   //[A, B, c, D]System.out.println(list.get(1));   //返回:Blist.add("B");System.out.println(list);   //[A, B, c, D, B]System.out.println(list.indexOf("B"));    //1    從頭到尾找到第一個"B"System.out.println(list.lastIndexOf("B"));    //4    從尾到頭找到第一個"B"}
}



示例3 運行效果圖


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247722.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247722.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247722.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java—遍歷集合的N種方式總結Collections工具類

遍歷集合的N種方式總結 【示例1】遍歷List方法1&#xff0c;使用普通for循環 for(int i0;i<list.size();i){ //list為集合的對象名 String temp (String)list.get(i); System.out.println(temp); } 【示例2】遍歷List方法2&#xff0c;使用增強for循環(使用泛型定義…

java類的結構2: 方法—(12)

面向對象的特征一&#xff1a;封裝與隱藏 1.為什么要引入封裝性&#xff1f; 我們程序設計追求“高內聚&#xff0c;低耦合”。 高內聚 &#xff1a;類的內部數據操作細節自己完成&#xff0c;不允許外部干涉&#xff1b; 低耦合 &#xff1a;僅對外暴露少量的方法用于使用。…

Docker 環境下部署 redash

環境&#xff1a; centos7 官網&#xff1a;https://redash.io/help/open-source/dev-guide/docker 一、安裝步驟 1、虛擬機安裝 安裝vmware&#xff0c;并安裝centos7 2、安裝docker docker安裝手冊 3、安裝nodejs centos下安裝Nodejs 4、redash安裝 1)、clone git repostory …

List接口常用實現類的特點和底層實現

List接口常用的實現類有3個&#xff1a;ArrayList、LinkedList、Vector。 那么它們的特點和底層實現有哪些呢&#xff1f; ArrayList特點和底層實現 ArrayList底層是用數組實現的存儲。 特點&#xff1a;查詢效率高&#xff0c;增刪效率低&#xff0c;線程不安全。我們一般使用…

java面向對象的特征 —(13)

面向對象的特征一&#xff1a;封裝與隱藏 1.為什么要引入封裝性&#xff1f; 我們程序設計追求“高內聚&#xff0c;低耦合”。 高內聚 &#xff1a;類的內部數據操作細節自己完成&#xff0c;不允許外部干涉&#xff1b; 低耦合 &#xff1a;僅對外暴露少量的方法用于使用。…

null指針

做了一個關于花卉花木的管理操作&#xff0c;后期因為花卉的類型需要顯示在花卉詳情頁面&#xff0c;所以需要兩張表連接。在不寫sql語句的前提下&#xff0c;用了外鍵連接。因為在先前的操作過程中&#xff0c;沒有將外鍵所在字段設置為必填項&#xff0c;導致有一個外鍵字段為…

jquery Ajax請求本地json

1-1-1 json文件內容(item.json) [{"name":"張國立","sex":"男","email":"zhangguoli123.com","url":"./img/1.jpg"},{"name":"張鐵林","sex":"男"…

論文《learning to link with wikipedia》

learning to link with wikipedia 一、本文目標&#xff1a; 如何自動識別非結構化文本中提到的主題&#xff0c;并將其鏈接到適當的Wikipedia文章中進行解釋。 二、主要借鑒論文&#xff1a; Mihalcea and Csomai----Wikify!: linking documents to encyclopedic knowledge 第…

java類的結構:構造器 —(13)

1.構造器&#xff08;或構造方法&#xff09;&#xff1a;Constructor 構造器的作用&#xff1a; 1.創建對象2.初始化對象的信息 2.使用說明&#xff1a; 1.如果沒顯式的定義類的構造器的話&#xff0c;則系統默認提供一個空參的構造器2.定義構造器的格式&#xff1a;權限修…

java面向對象的特征二:繼承性 —(14)

1.為什么要有類的繼承性&#xff1f;(繼承性的好處&#xff09; ① 減少了代碼的冗余&#xff0c;提高了代碼的復用性② 便于功能的擴展③ 為之后多態性的使用&#xff0c;提供了前提 圖示&#xff1a; 2.繼承性的格式&#xff1a; class A extends B{} A:子類、派生類、s…

vuejs怎么在服務器上發布部署

首先VUE 是一個javascript的前端框架&#xff0c;注定了它是運行在瀏覽器里的&#xff0c;對服務器本地沒有任何要求&#xff0c;只要一個靜態文件服務器能通過http訪問到其資源文件就足矣&#xff01;無論你是用apache ,ngnix 就算你要用node 自己實現一個靜態文件服務器&…

C#入門詳解(14)

接口&#xff0c;依賴反轉&#xff0c;單元測試 接口是協約是規定&#xff0c;所以必須是公開的&#xff0c;只能是public; static void Main(string[] args){int[] num1 new int[] { 1, 2, 3, 4, 5 };Console.WriteLine(Sum(num1).ToString());Console.WriteLine(""…

SpringBoot操作MongoDB實現增刪改查

本篇博客主講如何使用SpringBoot操作MongoDB。 SpringBoot操作MongoDB實現增刪改查 &#xff08;1&#xff09;pom.xml引入依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifac…

java面向對象的特征三:多態性 —(15)

1.多態性的理解&#xff1a;可以理解為一個事物的多種形態。 2.何為多態性&#xff1a; 對象的多態性&#xff1a;父類的引用指向子類的對象&#xff08;或子類的對象賦給父類的引用&#xff09; 舉例&#xff1a; Person p new Man(); Object obj new Date(); 3.多態性的…

vue 中$index $key 已移除

之前可以這樣: 123456<ulid"example"><liv-for"item in items">{{$index}}{{$key}}</li></ul>現在已經移除,如果還用的話就會報錯:Uncaught ReferenceError: $index is not defined; 現在這樣寫: 123456<ul id"example&qu…

vue-resource全攻略

Vue.js——vue-resource全攻略 概述 上一篇我們介紹了如何將$.ajax和Vue.js結合在一起使用&#xff0c;并實現了一個簡單的跨域CURD示例。Vue.js是數據驅動的&#xff0c;這使得我們并不需要直接操作DOM&#xff0c;如果我們不需要使用jQuery的DOM選擇器&#xff0c;就沒有必要…

java面向對象:關鍵字 —(16)

static:靜態的 1.可以用來修飾的結構&#xff1a;主要用來修飾類的內部結構 屬性、方法、代碼塊、內部類 2.static修飾屬性&#xff1a;靜態變量&#xff08;或類變量&#xff09; 2.1 屬性&#xff0c;是否使用static修飾&#xff0c;又分為&#xff1a;靜態屬性 vs 非靜態…

《少年先瘋隊》第九次團隊作業:Beta沖刺與團隊項目驗收

博文簡要信息表&#xff1a; 項目內容軟件工程https://www.cnblogs.com/nwnu-daizh/本次實驗鏈接地址https://www.cnblogs.com/nwnu-daizh/p/11056511.html團隊名稱少年先瘋隊作業學習目標&#xff08;1&#xff09;掌握軟件黑盒測試技術&#xff1b;&#xff08;2&#xff09;…

vue-resource jsonp跨域問題解決方法

最近在學習vue.js 碰到個ajax跨域請求的問題&#xff0c;之前知道可以用jsonp解決&#xff0c;但是一直沒實踐過&#xff0c;這次用發現里面好多問題&#xff0c;所以現在記錄下來&#xff0c;希望可以給剛接觸使用jsonp的同學一點幫助&#xff01; 關于什么是jsonp&#xff0c…

虛擬機無法連接至網絡

問題&#xff1a; 虛擬機中的win XP系統無法連接至外部win10系統網絡 嘗試解決方法&#xff1a; 1&#xff09;換用橋接模式和NAT模式&#xff0c;無效 2&#xff09;恢復虛擬機網絡屬性至默認狀態&#xff0c;無效 最終解決方法&#xff1a; 換用外部無線網絡&#xff0c;即能…