1. 程式人生 > >集合(1)—List介面的實現類ArrayList

集合(1)—List介面的實現類ArrayList

  • List
    List介面是Collection介面的子介面,從其名稱可以看出,是一個元素有序(並不是按大小排序,具有順序索引,類似於陣列),預設按照元素的新增順序設定元素的索引。
  • List用法
    List包括List介面以及List介面的所有實現類。因為List介面實現了Collection介面,所以List介面擁有Collection介面提供的所有常用方法,又因為List是列表型別,所以List介面還提供了一些適合於自身的常用方法。List介面定義的常用方法及功能:
    這裡寫圖片描述

    • 方法一
  • 宣告一個List型別變數
public List courseToSelect; 
  • 無參構造器,初始化變數
public List courseToSelect;     //List變數備選課程

    public ListTest(){
        this.courseToSelect=new ArrayList();
    }
相當於
List list=new ArrayList();
  • 建立一個例項
Course co=new Course("1","資料結構");
  • 呼叫List的add方法把物件(例項)新增到List變數中
courseToSelect.add(co);//不指定插入位置
courseToSelect.add(0,co2);//指定插入位置
  • 獲得List型別資料courseToSelect變數中的資料,並輸出課程資訊(從LIst中的取得元素其型別為Course)
Course temp=(Course)courseToSelect.get(0);
System.out.println("添加了:"+temp.id+" "+temp.name);

或者

//建立一個課程陣列,並在課程陣列中新增兩個元素(課程物件)
Course[] course={new Course("3","英語"),new Course("4","線性代數")};
//新增方法3addAll(傳進去一個Collection例項),通過工具類Arrays中的一個asList方法將陣列轉換為List
courseToSelect.addAll(Arrays.asList(course));
//獲得List型別資料courseToSelect變數中的資料並輸出課程資訊
Course temp4=(Course)courseToSelect.get(2);

全部程式碼:

package 集合框架;

public class Course {

    public String id;
    public String name;
    public Course(String id,String name){       //含參構造器
        this.id=id;
        this.name=name;
    }

}
package 集合框架;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ListTest {

    //用於存放備選課程資訊List
    public List courseToSelect;     //List變數備選課程

    public ListTest(){
        this.courseToSelect=new ArrayList();
    }

    public void testAdd(){          //用於往coursetoSelect中新增資訊
        //建立一個課程物件,並通過add方法,把物件新增到備選課程List中
        Course co=new Course("1","資料結構");
        //新增方法1
        courseToSelect.add(co);
        //獲得List型別資料courseToSelect變數中的資料,並輸出課程資訊(從LIst中的取得元素其型別為Course)(因為List中取出的物件都是Object型別的)
        Course temp=(Course)courseToSelect.get(0);
        System.out.println("添加了:"+temp.id+" "+temp.name);
        //建立一個課程物件,並通過add方法,把物件新增到備選課程List中
        Course co2= new Course("2","C語言");
        //新增方法2
        courseToSelect.add(0,co2);
        //獲得List型別資料courseToSelect變數中的資料並輸出課程資訊
        Course temp2=(Course)courseToSelect.get(0);
        System.out.println("添加了:"+temp2.id+" "+temp2.name);
        //再次獲得List型別資料courseToSelect變數中的資料,以檢驗是否插入到指定位置
        Course temp3=(Course)courseToSelect.get(0);
        System.out.println("添加了:"+temp3.id+" "+temp3.name);


        //建立一個課程陣列,並在課程陣列中新增兩個元素(課程物件)
        Course[] course={new Course("3","英語"),new Course("4","線性代數")};
        //新增方法3addAll(傳進去一個Collection例項),通過工具類Arrays中的一個asList方法將陣列轉換為List
        courseToSelect.addAll(Arrays.asList(course));
        //獲得List型別資料courseToSelect變數中的資料並輸出課程資訊
        Course temp4=(Course)courseToSelect.get(2);
        Course temp5=(Course)courseToSelect.get(3);
        System.out.println("使用陣列添加了兩個元素:"+temp4.id+":"+temp4.name+
                "和"+temp5.id+":"+temp5.name);
        //建立一個課程陣列,並在課程陣列中新增兩個元素(課程物件)
        Course[] course2={new Course("5","計算機網路"),new Course("6","計算機組成原理")};
        //新增方法3addAll(傳進去一個Collection例項),通過工具類Arrays中的一個asList方法將陣列轉換為List
        courseToSelect.addAll(2,Arrays.asList(course2));
        Course temp6=(Course)courseToSelect.get(2);
        Course temp7=(Course)courseToSelect.get(3);
        System.out.println("使用陣列添加了兩個元素:"+temp6.id+":"+temp6.name+
                "和"+temp7.id+":"+temp7.name);
    }

    public static void main(String[] args){
        ListTest lt = new ListTest();
        lt.testAdd();

    }

}

相關推薦

集合1List介面實現ArrayList

List List介面是Collection介面的子介面,從其名稱可以看出,是一個元素有序(並不是按大小排序,具有順序索引,類似於陣列),預設按照元素的新增順序設定元素的索引。 List用法 List包括List介面以及List介面的所有實現類。因為Lis

【第17天】Java集合---Sorted介面實現的TreeSet集合及單值型別集合總結

1 TreeSet簡介 2 基本用法與特點 3 制定單值比較規則 3.1 自然排序(compareTo(Object obj)) 3.2 定製排序(定義比較器類) 3.2.1 普通類內定義

【第16天】Java集合---Set介面實現的HashSet集合

1 HashSet簡介 2 基本用法與特點 3 HashSet的唯一性 4 增刪改時需要注意 1 HashSet簡介        作為Set介面的一個實現類,特

java 集合List介面

package cn.sasa.demo1; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; public class ListDemo { public static void

多執行緒1:繼承Thread實現Runnable介面

多執行緒的兩種實現方法: 1.繼承Thread類     繼承Thread類,重寫run()方法。建立多執行緒的時候,需要建立物件例項,然後呼叫start()方法。類物件的屬性屬於執行緒私有,執行緒之間互不影響。 public class ClassExtendT

【第18天】Java集合---Map介面概述及Map介面實現的HashMap、SortedMap介面實現的TreeMap

1 Map的通性 1.1 基本用法與特點 1.2 遍歷 2 HashMap集合的特性 3 TreeMap集合的特性 1 Map的通性     &nb

Java集合1集合框架

希望 true ava entry treeset arrays 當前 nal 證明 目錄 Java集合(1)一 集合框架 Java集合(2)一 ArrayList 與 LinkList Java集合(3)一 紅黑樹、TreeMap與TreeSet(上) java集合(4

11、集合1

1、集合 介紹:集合,集合是java中提供的一種容器,可以用來儲存多個數據。出現意義:面嚮物件語言對事物的體現都是以物件的形式,所以為了方便對多個物件的操作,就對物件進行儲存,集合就是儲存物件最常用的一種方式。Java中的集合: JDK為我們提供了一套完整的容器類庫,這些容器可以用於儲存

JAVA高階基礎4---List介面

List介面 List是有序的 collection(也稱為序列)。此介面的使用者可以對列表中每個元素的插入位置進行精確地控制。使用者可以根據元素的整數索引訪問元素,並搜尋列表中的元素。    List 集合裡添加了一些根據索引來操作集合元素的方

分析python原始碼1 list物件空間記憶體問題

問題引出 我們發現*10和*=所建立的記憶體是不一樣的 解釋: list是動態長度的,在必要時會重新分配記憶體 這裡的* 和 *=是兩個不同的指令,不同的指令導致分配的記憶體不一樣。 a * 10 是

做一個簡單的銀行、賬戶演示程式。 (1)定義一個賬戶,包含使用者名稱、密碼、餘額等屬性、存錢、取錢等方法。 2定義一個銀行,包含銀行名、賬戶列表等屬性,開賬戶、查賬戶的功能。賬戶列表可以使用集

做一個簡單的銀行、賬戶演示程式。 (1)定義一個賬戶類,包含使用者名稱、密碼、餘額等屬性、存錢、取錢等方法。 (2)定義一個銀行類,包含銀行名、賬戶列表等屬性,開賬戶、查賬戶的功能。賬戶列表可以使用

Redis有序集合sortSet的底層實現

Redis中支援的資料結構比Memcached要多,如基本的字串、雜湊表、列表、集合、可排序集,在這些基本資料結構上也提供了針對該資料結構的各種操作,這也是Redis之所以流行起來的一個重要原因,當然Redis能夠流行起來的原因,遠遠不只這一個,如支援高併發的讀寫、資料的

python+requests+unittest介面自動化1介面測試

使用的庫就是requests 安裝很簡單,尤其python3+(之後簡稱python3),自帶pip(python2+的朋友可以自行百度下pip的安裝) pip install requests 在開始做介面測試之前,我們先稍微瞭解一下介面是什麼? 首先,百度結果: 結合實

Python_GUI學習筆記1----GUI介面設計開發庫

我是使用Anaconda的spyder作為python程式編輯器,在安裝anaconda之後就自帶了python的影象設計標準庫Tkinter,此庫設計介面不夠方便和美觀。現在經常使用的第三方庫且比較好用、效果較好的是:pyQT和wxPython。1. tkInter這是 P

JavaScript1:Js實現web頁面一段時間沒操作,退出或關閉頁面

1. 思路 js設定一個倒計時,當監聽到keydown mousemove mousedown等事件時,重置倒計時。若倒計時為0時,觸發相應事件。 2. 實現 注:需要引入JQuery

微服務學習筆記1——使用MagicOnion實現gRPC

tco cred time sharp ref 服務端 eve rpo 實現接口 1.什麽是gRPC 官方文檔:https://grpc.io/docs/guides/index.html 2.什麽是MagicOnion MagicOnion開源地址:https://git

c# 程式設計師學習android1引導介面--viewpager的使用

本次之前說一下android開發工具。android開發工具有2種,一種是eclipse 一個是谷歌android-studio-bundle 前者需要配置,後者不需要。會自動下載sdk。配置方法我就不說了。有幾個注意的地方說一下。eclipse 適合32位windows系

微信公眾平臺開發1 配置介面(微信公眾平臺搭建php開發配置詳細步驟講解)

一、簡介微信公眾平臺是騰訊公司在微信的基礎上新增的功能模組,通過這一平臺,個人和企業都可以打造一個微信的公眾號,並實現和特定群體的文字、圖片、語音的全方位溝通、互動。二、通訊機制三、註冊微信平臺公眾帳號四、伺服器端配置4.1 示例程式碼設定微信公眾平臺提供了一個php示例程式碼:(百度雲盤連結地址:https

java集合1:java中的集合簡介

一、java資料結構的簡介 java中包含了很多常用的資料結構,如陣列、連結串列、棧、佇列、集合、雜湊表等,Java集合工具包位於Java.util包下。Java集合框架下大致可以分為如下五個部分:List列表、Set集合、Map對映、迭代器(Iterator、Enumer

學習Js1-使用Jquery實現滑動切換效果

1.前言雜談: 對於Javascript 是從大二就開始接觸了,那個時候剛開始接觸到web開發。在公司實習期間,由於什麼都不會,帶我師兄就讓我在百度傳課上看了一週的傳智播客的教學視訊,這才有點底子,可以寫寫正則,做表單驗證什麼的。到現在剛參加工作的時候