- 浏览: 1596065 次
- 来自: 上海
-
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
文章列表
BufferedWriter
BufferedReader
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
/**
* IO中 字符流的缓冲技术
* 1)缓冲区的出现提高了对数据的读写效率.
* 2)对应类.
* BufferedWriter
* BufferedReader
* 3)缓冲区 ...
1.单向 N:1 有中间表
例如:一个地方有多个人住.
每个同学记住老师,比老师记住每个同学简单.
(在 n 的一端进行配置效率高)
N 1
Person : Address
Student : Teacher
注意:这次是有中间表
注意:比较 有无中间表的 配置,发现 采用 Join 和 many-to-one 进行配置
中间表
Person
Address
public class Address {
private Integer aid;
private String addressDetail;
...
FileWriter
/**
* IO(Input Output)流
* 作用:
* 1)IO流用来处理设备之间的数据传递
* 2)Java对数据的操作是通过流的方式
* 3)Java用于操作流的兑现个都在IO包中
* 4)流按操作的数据分为两种:字节流 (通用) 和 字符流(基于字节流)
* 5)流按流向来分:输出流 和 输入流
*
* IO流常用的基类
* 字节流的抽象基类
* InputStream,OutputStream.
* 字符流的抽象基类
* Reader,Writer.
...
System类
import java.util.Properties;
/**
* System:
* out:标准输出,默认是控制台
* in:标准输入,默认是键盘
*
* 描述系统的一些信息
* 获取系统的属性信息:Properties getProperties();
*
*
*
*/
public class SystemDemo {
public static void main(String[] args) {
Properties prop=System.getProperties();
...
静态导入
可变参数
package com.itheima.day17;
import java.util.Arrays;
//static import java.util.Arrays.*; //编译不通过
import static java.util.Arrays.*;
import static java.lang.System.*;
/**import static
* System.out.println()
* out.println();
*/
/**
* JDK 1.5出现的新特性
*
* 1.方法的可变参数
* ...
Arrays工具的使用
集合 和数组 的互转
java中的foreach
asList()
toArray()
package com.itheima.day17;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
* Arrays:用于 ...
Collections:集合框架工具类
Collections.sort();
Collections.max();
Collections.binarySerach() 的使用 以及 原理
package com.itheima.day17;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* 集合框架工具类
* Collections
*
* 需求:
* 可排序 和 ...
Map练习
/**练习
* "sdfzesacwedcvde"获取该字符串中字母出现的次数
* 希望打印结果为a(1)c(2)....
*
* 通过 结果发现,没一个字母都有对应的次数.
* 说明字母和次数之间都有映射关系
*
* 注意了.当发现有映射关系时,可以选择map集合.
* 因为Map集合中存放的就是映射关系.
*
* 什么时候使用Map集合呢?
* 但数据之间存在这种关系时,就要先想map集合.
*
* 思路:
* 1.将字符串转换成字符数组,应要对每个字母进行操作
* 2.定义Map容 ...
1.单向 1:1 基于外键的
想象下 小康社会: 每家都有钱, 住起了小洋房 ,洋房编号: xx村2-36
eg: 一个地方有 一个人住.或者说 一家人住
eg: 每个同学家庭请了单独家教老师, 这样 1 对 1 的辅导
(在 原本N 变成了 1 的一端进行配置)
1 (N) 1
Person : Address
Student : Teacher
注意:这样在Person中会多一列 对address_id 的外键引用列 只是此时变成 unique=true 唯一 然Person 变成了唯一.
Pesron
Address
p ...
Map 集合的使用
/**
* Map集合: 该集合存储键值对,一对一对往里存,而且要保证键的唯一性
* 1.添加
* put(K key,V value)
* void putAll(Map<? extends K,? extends V> m)
* 2.删除
* clear()
* remove()
* 3.判断
* containsKey(Object Key)
* containsValue(Object value)
* is ...
泛型类
泛型方法
静态泛型
/**
* 泛型类定义的泛型,在整个类中有效
* 如果被方法使用.那么泛型类的对象明确要要操作的具体类型后,所有方法要操作的类型就已经固定了
*
* 为了让不同方法可以操作不同类型,而且类型还不确定
* 那么可以将泛型定义在方法上.
*
* 特殊之处
* 静态方法不可以访问类上定义的泛型,因为 泛型 都是在创建对象的时候才制定,如果静态会编译失败
* 如果静态方法操作的引用数据类型不确定,可以将泛型定义在方法上.
* 泛型定义在静态上 放在返回值前面, 修饰符后面
*
*/
clas ...
1.单向 1:1 基于中间表
想象下 小康社会: 每家都有钱, 住起了小洋房 ,洋房编号: xx村2-36
eg: 一个地方有 一个人住.或者说 一家人住
eg: 每个同学家庭请了单独家教老师, 这样 1 对 1 的辅导
(在 原本N 变成了 1 的一端进行配置)
1 (N) 1
Person : Address
Student : Teacher
注意:采用中间表来保存 1:1 的关系
注意使用 unique=true cascade=all
中间表
person
address
public class Address ...
JDK1.5 泛型
/**
* JDK1.5 泛型
* 泛型格式:通过<> 来定义操作的 "引用数据类型"
*
* 在使用java提供的对象时,什么时候使用泛型呢?
*
* 通过在集合框架中很常见
* 只要见到 <>就要定义泛型
*
* 其实<> 就是用来接受类型的
* 当使用集合时,将集合中要存储的数据类型作为参数传递到<>中时候
*/
public class GenericDemo {
public static void main(String[] args ...
HashSet 和 TreeSet
TreeSet的第一种排序 元素自身拥有比较功能 哈哈
/**
* Set 无序的,不可以重复元素
* |--HashSet: 底层数据结构是哈希表, 线程不同步
* hashSet是如何保证元素唯一性呢?
* 是通过元素的两个方法, hashCode 和 equals 来完成的
* 如果元素的hashCode值相同,才会判断equals 是否为true
* 如果元素的hashCode值不同,不会调用 equals.
*
* ...
LinkedList的使用
/**
* LinkedList:特有方法
*
* addFirst()
* addLast()
*
* getFist()
* getLast()
* 获取元素 但不删除元素 ,如果集合中没有元素,会出现 NoSuchException
*
* removeFirst()
* removeLast()
* 也可以获取元素,但是元素会被删除,如果集合中没有元素,会出现,NoSuchException
* JDK1.6 后出现了 替代方法了
* 添加
* offerFirst()
...