Map,HashMap
Map是java.util中的集合类.
Map提供了一个更通用的元素储存方法,Map集合类用于储存<key,value>.
map存放值时通过put存放,当key值相等的时候会把之前存放的value值覆盖.
删改查通过key值进行操作
package Demo;
import java.util.HashMap;
import java.util.Map;
public class Demo4 {
public static void main(String[] args) {
Map<String,String> map = new HashMap<>();
map.put("北京","张三");
map.put("南京","李四");
map.put("上海","王五");
map.put("郑州","李丽");
System.out.printf("%s%n",map);
}
}
TreeMap
TreeMap及对HashMap集合中的数据按照哦一定的顺序进行排列
HashTable
Hashtable跟HushMap一样,储存的值是<key,value>.
Hashtable继承Dictionary,实现Map接口.
Hashtable中存储的数据是无序的.
泛型
泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才在指定的类型, 在实例化是作为参数指明这些类型.
类型参数:
1.可读性
2.类型检查
3.获取数据时不再需要强制类型转换.
package Demo;
public class Demo3 {
public static void main(String[] args) {
Gen<String> g1 = new Gen<>();
g1.print("hello");
Gen<Integer> g2 = new Gen<>();
g2.print(12);
}
}
//泛型类声明
class Gen<A>{
private A a;
public void setA(A a) {
this.a = a;
}
public A getA() {
return a;
}
public Gen() {
this.a = a;
}
public void print(A a) {
System.out.println(a);
}
}
泛型标识符
泛型使用
package Demo;
public class Demo4<T> {
private T t;
public T get() {
return this.t;
}
public void set(T t) {
System.out.println(t);
}
public static void main(String[] args) {
var m1 = new Demo4<Integer>();
m1.set(16);
Demo4<String> m2 = new Demo4<>();
m2.set("ok");
}
}
package Demo;
public class Demo2<T extends Number> {
private T t;
public T get() {
return t;
}
public void set(T t) {
this.t = t;
System.out.println(t);
}
public static void main(String[] args) {
Demo2<Integer> m = new Demo2<>();
m.set(16);
}
}
泛型通配符
无界通配符
public void show(Gen<?> g){}
上限限定
public void show(Gen<? extends Number> gen){}
下限限定
public void shou(Gen<? super Integer> gen){}
class Gen<T super Ingeter>是错误的
IO流技术
流是一种抽象概念, 代表了数据的无结构化传递,按照留的方式进行输入输出,数据被当成无结构的字节序或字节序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作.用来进行输入输出操作的流就称为IO流.IO流就是以流的方式进行输入输出.
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称,即数据在两设备间的传输称为流.留的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作.
File类
File是一个类,那么在使用的时候就需要创建对象,但是File类的实例是不可变得,一旦创建,由File对象表示的抽象路径名将永远不会改变.
File类构造方法
File类实现创建目录
package Demo;
import java.io.File;
public class Demo5 {
public static void main(String[] args) {
File f1 = new File("e:/","dat");
f1.mkdirs();
}
}