Map,泛型及IO流操作

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);
    }
}

image-20220920194651406

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);
    }
}

image-20220920163556430

泛型标识符

image-20220920152659999

泛型使用
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");
    }
}

image-20220920163622719

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);
    }
}

image-20220920163645442

泛型通配符
无界通配符

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流就是以流的方式进行输入输出.

image-20220920201058102

流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称,即数据在两设备间的传输称为流.留的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作.
File类
File是一个类,那么在使用的时候就需要创建对象,但是File类的实例是不可变得,一旦创建,由File对象表示的抽象路径名将永远不会改变.
File类构造方法

image-20220920201618666

File类实现创建目录
package Demo;

import java.io.File;

public class Demo5 {
    public static void main(String[] args) {
        File f1 = new File("e:/","dat");
        f1.mkdirs();
    }
}

image-20220920203434818

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值