2020年3月4日:JAVA我又来了,今天为了人生大事耽搁了俩小时哈哈。

一、数据流

知识点1
字节流通过数据流优化就可以输入boolean,int,String这种进入文件了。

            File f = new File("d:/lol.txt");
            try(
				FileOutputStream fos = new FileOutputStream(f);
				DataOutputStream dos = new DataOutputStream(fos);
				){
			dos.writeBoolean(true);
			dos.writeInt(300);
			dos.writeUTF("UTF是可以写String的意思,数据流配合字符");


读取在文件里只有字符串是显示正常的:
        File f = new File("d:/lol.txt");
		try(FileInputStream fos = new FileInputStream(f);
			DataInputStream dis = new DataInputStream(fos);)
		{
			boolean b = dis.readBoolean();
			int i= dis.readInt();
			String str = dis.readUTF();
			System.out.println("读取到的布尔值"+b);
			System.out.println("读取到的数字"+i);
			System.out.println("读取到的字符串"+str);

知识点2
一个对象以流的形式进行传输,叫做序列化。 该对象所对应的类,必须是实现Serializable接口
知识点3
把你在控制台输入的值传到字节流中,然后读取
 

    try(InputStream is = System.in)
		{
			while(true)
			{
				int i = is.read();//is.read()已经把你输入的a转化为了ASCII码了
				System.out.println(i);
			}
		}catch(Exception e)
		{
			e.printStackTrace();
		}

二、集合框架

知识点1
数组的局限性,Hero heros[] = new Hero[10];//声明长度是10的数组//不用的数组就浪费了,超过10个就没办法放下这么多。

import java.util.ArrayList;是最常见的容器,会随着对象增加而增加

        ArrayList heros = new ArrayList();
		heros.add(new Hero("奈斯"));
		System.out.println(heros.size());//读取是1

知识点2
ArrayList的相关方法:
 

     // 在指定位置增加对象
        Hero specialHero = new Hero("special hero");
        heros.add(3, specialHero);
    //判断是否为同一个对象,不是看name
    heros.contains(new Hero("hero 1"))
    //获取指定位置的对象,不能超出范围
    heros.get(5)
    //判断所处位置
    heros.indexOf(specialHero)//如果超出会返回-1
    //删除
     heros.remove(2);//其中或者是直接指定对象名删除
    //替换新对象
    heros.set(5, new Hero("hero 5"));
    //获取大小
    heros.size()
    //转化为数组
    Hero hs[] = (Hero[])heros.toArray(new Hero[]{});
    //把另外一个容器里的所有对象加入到里面
    heros.addAll(anotherHeros);
    //清空
    heros.clear();

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值