一、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.setTest("丽丽");
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
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一致