前幾天學了集合框架,現在先大致對集合總結一下,再對arraylist的乙個例項進行具體講解。
所有集合的上層介面為collection介面,它有三個子介面,分別為list,set,map。
其中,list介面的實現類均是線性結構,其中儲存的元素是有序的,主要有三個常用的,分別是arraylist,vector,linkedlist,其中,前兩個是線性表,便於查詢,後乙個是線性鍊錶,便於對元素進行增刪改操作
set集合中不允許重複的元素存在,集合中元素的存放是無序的,常用的實現類有hashset,treeset
map集合中的元素是以鍵值對的形式存在的,乙個鍵對應乙個值,集合中不允許重複的鍵,常用的實現類有hashmap和treemap,其中,前者不允許存在空值和空鍵
list集合中的arraylist:相當於乙個動態陣列,陣列的容量隨著新增物件的增加而不斷動態擴充套件,當容量不夠時,容量擴充套件至原來的1.5倍,其實現是執行緒不同步的。
為了進一步對arraylist進行深入的理解,下面介紹乙個小專案,乙個簡單的學生日誌管理系統,其主要實現為
1、學生資訊管理:實現學生的登入,註冊功能
2、學生日誌管理:實現對學生日誌增刪改查功能
要對學生物件和學生日誌進行管理,則首先要建立乙個學生物件和日誌物件(為圖簡便,將日誌物件簡化為了字串,實際學生和日誌應為一對多的依賴關係):
public class student ;
public student(int sno, string password)
public student(int sno, string password, arraylistdinary)
}
接下來,要實現學生物件的登入註冊功能,登入時,首先判斷是否已註冊,已註冊的學生資訊和將要註冊的學生資訊均放入動態陣列arraylist中臨時儲存,若還未註冊,則要先註冊,才能進行登入。
即登入時,首先判斷學生輸入的賬號是否存在,若存在,則再驗證其密碼是否正確,若不存在,則給出提示其賬號不存在,可先註冊再登陸。
若登入成功,則用乙個索引來記錄當前登入的學生物件在儲存其資訊的容器arraylist中的索引,以便於對當前登入的學生物件的資訊進行管理。登入成功後,才可對當前學生物件的日誌進行管理。
public class studentmanage
public void loagn()
}if(index==-1)
else
system.exit(0);
}else
checkcode();
}private void checkcode()else
}public void addstudent()
public void loadmenue2()
db.get(index).dinary.add(content);
loadmenue2();
}else if(se==2)else
system.exit(0);
}private void dinarymanage()
public static void main(string args)
private void loadmenue()
else
system.exit(0);
}}
學生管理系統
include stdio.h include include include struct student void print void void display struct student head struct student creat q next null display head ...
學生管理系統
任務 提供 管理員 和 使用者 乙個系統 可以檢視學生資訊 系統提供 帳號登入 資訊管理功能 管理員使用者可以對學生資訊進行 增 刪 改 查 並 同時能夠 管理賬戶 資訊 普通使用者 只能進行 對資訊的查詢功能 可以根據學號 或者 姓名查詢 1.初始化 3個檔案 配置檔案 帳號資訊檔案 學生資訊檔案...
學生管理系統
注釋 這個小的系統,主要體現了c語言的 分而治之,重用 也就是老師教函式時給我們說的最核心的思想。主要吧,就是先在開始 定義後面要使用的函式,再定義一些全域性變數 再在主函式中一一呼叫。在主函式後面 再一一的寫這些函式體 也就是乙個個小的演算法慢慢湊起來 就組成了 include include i...