Java學習筆記 day04

一、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一致

 

發佈了56 篇原創文章 · 獲贊 27 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章