一、Java集合
1.Java集合主要分爲3種類型:
1) Set集:集合中的對象不按特定方式排序,並且沒有重複對象。
2) List列表:集合中的對象按照索引位置排序,可以有重複對象。
3) Map映射:集合中每一個元素包含一對鍵對象和值對象,集合中沒有重複的鍵對象,可以有重複的值對象
1001---張三
1002---李四
1003---王五
注意:集合中不能存放基本數據類型,只能存放對象的引用,集合都在java.util包中。
2.Collection接口和Iterator接口
1) Collection接口的通用方法:
boolean add(Object o):向集合中加入一個對象的引用
void clear():刪除集合中所有的對象
boolean contains(Object o):判斷對象是否在集合中
boolean isEmpty():判斷集合是否爲空
Iterator iterator():返回一個Iterator對象,該對象用於遍歷集合中的對象
boolean remove(Object o):從集合中刪除一個對象
int size():返回集合中對象的個數
Object[] toArray():返回集合中所有對象組成的數組
Set接口和List接口都繼承了Collection接口,所以他們可以使用以上的方法,而Map接口沒有繼承Collection接口
2)Iterator接口:提供遍歷各種類型的集合的統一接口。
hasNext():判斷是否有下一個元素,如果有則返回true,否則返回false。常常跟循環搭配
next():返回下一個元素
3.知識點補充:泛型:模板化參數
泛型類例子:
class Test<T>
{
private T test;
public void setTest(T test){
this.test=test;
}
public T getTest(){
return test;
}
}
Test<String> t=new Test<>();
t.setTest("麗麗");
Test<Integer> t2=new Test<>();
t.setTest(34);
class Test2<T1,T2>
{
private T1 test1;
private T2 test2;
public void setTest(T1 test1){
this.test1=test1;
}
public T1 getTest(){
return test1;
}
public void setTest(T2 test2){
this.test2=test2;
}
public T2 getTest(){
return test2;
}
}
Test2<String,Integer> t2=new Test2<>();
4.Set集
1.兩個實現類:
1) HashSet:按照哈希算法來存取集合中的對象。
通過分析HashSet源代碼,發現它的底層使用HashMap實現的,通過分析HashMap的put方法,
發現HashMap的鍵對象不能重複,所以HashSet只用了HashMap的鍵對象,所以HashSet中的
對象也不會重複。
注意:"==":是用於判斷兩個對象是否指向同一片內存空間。而Object類的equals方法也是這個功能
if(stu1==stu2){
}
2)TreeSet:具有排序功能
注意:TreeSet具有排序功能,但是要求要排序的類需要實現Comparable接口,Comparable接口有一個
compareTo(Object o)的方法,它返回整數類型,對於x.compareTo(y):如果返回值爲0,那麼x等於y,
如果返回大於0,則x大於y,如果返回值小於0,則x小於y。
封裝類和String類已經實現了Comparable接口,可以直接使用來排序
5.List列表:允許存放重複對象
實現類:
1) ArrayList:代表可變長的數組。
6.Map映射
實現類:
1) HashMap:
2) TreeMap:
Map的keySet得到鍵對象的Set集合
Map的get方法可以通過鍵對象獲得值對象
二、MySQL數據庫的安裝以及Navicat的安裝與使用
1.MySQL的相關命令:
-- 創建數據庫
create database test;
-- 使用test數據庫
use test;
-- 創建表
create table users
(
id int auto_increment primary key, -- auto_increment表示自增
name varchar(50) not null unique,
age int not null,
sex varchar(5) not null,
addr varchar(100) default '青城山別墅'
);
-- 修改表
alter table users
add score decimal(4,2) not null;
alter table users
drop column score;
alter table users
modify sex varchar(10) not null;
-- 插入數據
insert into users(name,age,sex) values('lili',21,'女');
insert into users(name,age,sex,addr) values('feifei',21,'男','西南石油大學');
insert into users(name,age,sex,addr) values('nana',21,'女','成都市新都區');
-- 查詢所有數據
select * from users;
-- 更新數據
update users set name='張三' where id=3;
-- 刪除數據
delete from users where id=3;
-- 其餘各種select語句和SQL SERVER一致