public static void main(String[] args) {
// 创建Map集合,键对象为Integer类型,值对象为Student类型
Map<Integer, Student> stuMap = new HashMap<Integer, Student>();
//添加元素。库方法
stuMap.put(12,new Student(12,"a1",90));
stuMap.put(23,new Student(23,"b2",90));
stuMap.put(33,new Student(33,"c3",90));
stuMap.put(78,new Student(78,"d4",90));
stuMap.remove(23);//根据键删除元素
// Student s=stuMap.get(23);//根据键,得到值,若不存在,报错null指针
//
// System.out.println(s.getCode()+" "+s.getName()+" "+s.getGrade());
Set<Integer> ks=stuMap.keySet();
for(Integer key:ks){//遍历键集合
System.out.println("键:"+key);
Student s1=stuMap.get(key);//根据键,得到值
System.out.println("值:"+s1.getCode()+" "+s1.getName());
}
System.out.println("**************");
//得到Map中值的集合
Collection<Student> col=stuMap.values();
for(Student s:col){
System.out.println(s.getCode()+" "+s.getName()+" "+s.getGrade());
}
}
public static void main(String[] args) {
Student s =new Student(1,"dsgs ",90);
//创建set集合,元素不可重复
Set<Student> set=new HashSet<Student>();
set.add(new Student(1,"aa",90));
set.add(new Student(2,"bb",90));
set.add(new Student(3,"cc",90));
set.add(new Student(4,"dd",90));
//set.add(s);无效,只有一个
// 若多个set.add(new Student(1,"aa",90));则是4
// 个,要比较元素是否相等,要重写equals和hashCode
Iterator<Student> it=set.iterator();
while(it.hasNext()){
Student st=it.next();
System.out.println(st.getCode());
}
System.out.println("********");
for(Student st:set){
System.out.println(st.getCode()+" "+st.getName());
}
}
尖括号“<>”里的东西叫泛型:指明类型变量,一般集合里用。。“引用类型”。
public static void main(String[] args) {
// Integer i = new Integer(3);
// int x = i.intValue();// 将包装类中封装的基本类型取出来
List list = new ArrayList();
list.add(1);// 将基本类型自动转化为包装类,即自动装箱
System.out.println(list.get(0) instanceof Integer);// 输出true
Integer i = new Integer(3);
System.out.println(i + 9);// 自动拆箱int x = i.intValue(),取出数据再和整型计算
}
Collections.sort(a,new comparator<Student>(){//sort排序,看返回正数负数或者0
@Override
public int Compare(Student arg0,Student arg1){
return (int)(arg0.getGrade - arg1.getGrade);
}
}
Collections.shuffle(a);//将集合元素顺序随即排列
HashMap与HashTable的区别与联系:
1、都是Map集合借口的实现类
2、HashMap允许null键和null值,HashTable不允许
3、HashMao线程不安全,而HashTable线程安全
下午开始讲数据库了
存储模式:层次模型(倒树)
网状模型(允许多父)
关系模型(有可能缺点,关系模型和对立的空间存在一种阻抗不匹配关系。。?)
对象模型
关系模型:把世界看作是由实体和联系组成的。所谓实体就是在显示世界中客观存在并可相互区别的事物,实体是哟具有某一特性称为属性
表是关系型数据库的核心单元,有主键,外键
dbms
RDBMS:关系型数据库管理系统。分为本地数据库管理系统和数据库服务管理系统(普遍)
SQL:结构化查询语言:管理关系型数据库,与里面的数据进行通讯的计算机语言。
SQL语句:
DDL:数据定义语言:创、修、删库内的数据结构
DQL:数据查询语言:查询
DML:数据操作语言:对数据的修改
DLL:数据控制语言:控制对库的访问
数据类型有。。大小写不同的。。
CHAR(20):定长类型,数据要满20个,未满以空格添
VARCHAR(20):可变大小,随数据的多少来定,不超20个
这个里边 “- -” 就是注释了
CREATE DATABASE 某某 ; - -创建数据库或表等
DROP ......;- -删
CREATE table xx( 名 类型 约束)DEFAULT CHARSET=utf8; - -括号里可多个,逗号间隔,括号后是怕出乱码加的
INSERT INTO student(id,name,grade)VALUES(1,'松田',235.2356); - -字符类型打单引号
SELECT id,name,grade FROM student; - - 查询。。SELECT * FROM student则是查看所有列
CREATE table mystu SELECT* FROM student; - - 复制表,约束不被复制。若最后添 WHERE 1=0,则只复制表的结构,不复制数据
ACTER table student ADD sex VARCHAR(10); - - 添新列,若多个列可逗号隔开
ALTER table 表名 DROP COLOMN 列名; - -删列
ALTER student change sex ss VARCHAR(20); - -修改某列