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
{
    private T test;

    public void setTest(T test){
        this.test=test;
    }
    public T getTest(){
        return test;
    }
}

Test t=new Test<>();
t.setTest("丽丽");

Test t2=new Test<>();
t.setTest(34);

class Test2
{
    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 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一致

 

Java学习笔记 day04_第1张图片

你可能感兴趣的:(java学习笔记)