java集合框架概述(學習筆記)

2021-08-21 11:44:56 字數 2520 閱讀 7874

1、集合概念:是一種工具類,是一種容器,儲存任意數量的具有共同屬性的物件。

2、集合的作用:

在類的內部,對資料進行組織;

簡單而快速的搜尋大數量的條目;

有的集合介面提供了一系列排列有序的元素,並且可以在序列中間快速的插入或者刪除有關元素。

有的集合介面提供了對映關係,可以通過關鍵字去快速查詢到對應的唯一物件,而這個關鍵字可以是任意型別。

3、陣列長度有限,集合可以動態擴充套件。

陣列只能通過下標訪問物件,型別固定,而有的集合可以通過任意物件查詢所對映的物件。

collection儲存具體物件,map利用對映儲存物件,key和value成對出現。

4.collection介面是list、set和queue的父介面;

4.1 list介面及其實現類——arraylist

list 是元素有序並且可以重複的集合,被稱為序列;

list可以精確的控制每個元素的插入位置,或刪除某個位置元素;

arraylist的底層由陣列來實現。

4.2 例項

通過map進行學生資訊管理,其中key為學生id,value為學生物件。通過鍵盤輸入學生資訊,對集合中的學生資訊進行增刪改查操作。

(1)建立map,承裝學生型別物件

public mapstudents

(2)在構造器中初始化students屬性

public maptest()else

students.remove(id);

system.out.println("成功刪除學生:"+st.name);

break;

(6)通過entryset方法來遍歷map

public void testentryset()

if(obj==null)

return false;

if(!(obj instanceof course))

return false;

course course = (course) obj;

if(this.name==null)

else}

(10)判斷set中課程是否存在(set中的contains方法)

public void testsetcontains(){

system.out.println("請輸入學生已選課程的名稱:");

string name = console.next();

//建立乙個新的物件,id和名稱與course物件完全一樣

course course2 = new course(course.id,course.name);

system.out.println("新建立課程:"+course2.name);

system.out.println("備選課程中是否包含課程:"+course2.name+","+student.courses.contains(course2));

判斷set中課程是否存在:set.contains(obj):首先判斷hashcode()返回的hash碼是否相等,然後根據equals(obj)方法判斷是否相等,如果想要用元素的某一屬性判斷,需要重寫hashcode()方法和equals(obj)方法

重寫hashcode方法和equals方法eclipse可以自動生成。

(11)獲取list中課程的位置(list中的indexof(方法))

if(coursestoselect.contains(course2))

system.out.println("課程"+course2.name+"的索引位置為:"+coursestoselect.indexof(course2));

(12)判斷map中是否包含指定的對映

public void testcontainskeyorvalue(){

//在map中用containskey()方法來判斷是否包含某個key值

//用containsvalue()方法來判斷是否包含某個value值

system.out.println("請輸入要查詢的學生id:");

scanner console = new scanner(system.in);

stringg id = console.next();

system.out.println("您輸入的學生id為:"+id+",在學生對映表中是否存在:"+students.containskey(id));

if(students.containskey(id))

system.out.println("對應的學生為:"+students.get(id).name);

//用containsvalue方法,來判斷是否包含某個value值

string name = console.next();

if(students.containsvalue(new student(null,name)));

system.out.println("在學生對映表中,確實包含學生:"+name);

Java集合框架概述

collection介面 第一組方法 boolean add object o 新增乙個元素 boolean remove object o 刪除乙個元素 iterator iterator 獲得此集合的迭代器,用來遍歷此集合的所有元素 boolean contains object o 判斷乙個元...

java學習筆記之集合框架

上述類圖中,實線邊框的是實現類,比如arraylist,linkedlist,hashmap等,折線邊框的是抽象類,比如abstractcollection,abstractlist,abstractmap等,而點線邊框的是介面,比如collection,iterator,list等。發現乙個特點,...

java 集合框架筆記

hashmap 底層的實現是陣列與鍊錶,允許使用null鍵與null值,不保證儲存的順序,執行緒不安全。每個entry中儲存key,value,next 通過key的hash值,計算entry應該儲存在陣列中的位置,出現衝突時,通過鍊錶增加到陣列元素的後面,儲存的位置基本和value沒有關係。jdk...