JAVA教程 从入门到精通 Day18

Go语言从入门到精通:一站式学习指南 Go语言是由Google的Rob Pike、Ken Thompson和Robert Griesemer设计的编程语言。Go语言旨在提供一种简洁、快速、并且易于并发编程的解决方案。Go语言的设计理念之一是“简单就是美”,它抛弃了传统编程语言中的一些复杂特性,如继承、多态等,而通过一些现代特性(如goroutine并发机制)弥补这些限制。Go语言以其简单、并发、性能优异的特点,成为了开发者的首选语言之一。通过本文的介绍,从Go的基础语法到进阶应用,你应该对Go有了一个全面的了解。如果。 阅读详情

11.10 Set

**Set :**无序,不可重复,去重

  • **无序:**存放的顺序与内部真实存储的顺序不一致
  • **去重:**集合不包含元素对e1和e2 ,使得e1.equals(e2)和最多一个null元素
  • **新增功能:**static Set of(E… elements) 返回包含任意数量元素的不可修改集
  • 遍历方式:
    • foreach
    • iterator迭代器

11.11 TreeSet

TreeSet :

  • 底层结构 : 红黑树
  • **特点 :**查询效率较高,自动把数据做升序排序
  • 底层是由TreeMap维护的
  • **新增功能:**新增了一些与比较大小相关的方法
  • 遍历方式 :
    • foreach
    • iterator迭代器
  • 注意 :

TreeSet需要存储相同类型的数据,因为会默认存在比较排序

11.12 内部比较器

TreeSet存储javabean类型的数据

**去重与排序:**都是根据比较规则实现的,与equals没有关系

比较规则:

  • 内部比较器|内部比较规则|自然排序 : 比较规则定义在javabean类型的内部
  • javabean类型实现Comparable接口,重写compareTo(T o)方法,在方法中定义比较规则
package Tuesday;

import java.util.TreeSet;

public class TreeSet2 {
    public static void main(String[] args) {
        TreeSet<Teacher> sc=new TreeSet<>();
        sc.add(new Teacher(01,"wang",10000));
        sc.add(new Teacher(04,"chang",23000));
        sc.add(new Teacher(03,"zhao",16000));

        System.out.println(sc);
    }
}

package Tuesday;

public class Teacher implements Comparable<Teacher> {
    private int id;
    private String name;
    private int sal;

    public Teacher() {
    }

    public Teacher(int id, String name, int sal) {
        this.id = id;
        this.name = name;
        this.sal = sal;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getSal() {
        return sal;
    }

    public void setSal(int sal) {
        this.sal = sal;
    }

    @Override
    public String toString() {
        return "Teacher{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sal=" + sal +
                '}';
    }

    @Override
    public int compareTo(Teacher o) {
        return this.sal-o.sal;
        //return this.name.compareTo(o.name);
    }
}

11.13 外部比较器

外部比较器|外部比较规则|定制排序 : 比较规则定义在javabean类型的外部

定义一个实现类,实现Comparator接口,重写int compare(T o1, T o2),在方法中定义比较规则

package Tuesday;

import java.util.Comparator;
import java.util.TreeSet;

public class Test1 {
    public static void main(String[] args) {

//        匿名内部类:简化没有类自身作用的实现类
        Comparator<Emp> se=new Comparator<Emp>() {  //实现类的类体
            @Override
            public int compare(Emp o1, Emp o2) {
                return Double.compare(o1.getSal(),o2.getSal());
            }
        };

//        lambda表达式:简化匿名内部类对象 要求必须为函数式接口才能简化
//        lambda表达式作为实参传递 -> 可以把行为作为参数传递
        se=(o1,o2)->o1.getId()- o2.getId();

        TreeSet<Emp> ss=new TreeSet<>(se);
        TreeSet<Emp> sd=new TreeSet<>(new Sc());
        ss.add(new Emp(04,"wang",18000));
        ss.add(new Emp(03,"chang",16500));
        ss.add(new Emp(02,"zhao",19000));

        System.out.println(ss);
    }
}

//外部比较器
    /*
        调用compare方法做两个数据的比较
            compare(t1,t2)
            返回值:
                =0       t1==t2
                <0       t1<t2
                >0       t1>t2
     */
class Sc implements Comparator<Emp>{

    @Override
    public int compare(Emp o1, Emp o2) {
        return Double.compare(o1.getSal(),o2.getSal());
    }
}

package Tuesday;

public class Emp {
    private int id;
    private String name;
    private double sal;

    public Emp() {
    }

    public Emp(int id, String name, double sal) {
        this.id = id;
        this.name = name;
        this.sal = sal;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getSal() {
        return sal;
    }

    public void setSal(double sal) {
        this.sal = sal;
    }

    @Override
    public String toString() {
        return "Emp{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sal=" + sal +
                '}';
    }
}

11.14 HashSet

HashSet:

  • **底层结构:**哈希表(数组+链表+红黑树)
  • **特点:**查询,增删效率高 ,去重,无序

底层是由HashMap维护的

  • 遍历:
    • foreach
    • iterator迭代器
  • **新增方法 :**无
  • 注意:
    • 此类允许null元素
    • 此实现不同步

练习:定义HashSet存储javabean类型得到数据,实现去重,测试使用

去重 :数据的类型要求重写hashCode与equals方法

package Tuesday;

import java.util.HashSet;

public class HashSet1 {
    public static void main(String[] args) {
        HashSet<Test2> sc=new HashSet<>();
        sc.add(new Test2("wangchao",22,"男"));
        sc.add(new Test2("changkun",29,"男"));
        sc.add(new Test2("zhaoshixiang",24,"男"));
        sc.add(new Test2("wangchao",22,"男"));

        System.out.println(sc);
    }
}


package Tuesday;

import java.util.Comparator;
import java.util.Objects;

public class Test2 {
    private String name;
    private int age;
    private String gender;

    public Test2() {
    }

    public Test2(String name, int age, String gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Test2 test2 = (Test2) o;
        return age == test2.age && Objects.equals(name, test2.name) && Objects.equals(gender, test2.gender);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age, gender);
    }

    @Override
    public String toString() {
        return "Test2{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", gender='" + gender + '\'' +
                '}';
    }
}

11.15 Map

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l7dHWyHE-1647963230298)(D:\Notes\笔记.assets\QQ截图20220322153153.png)]

**Map :**无序的,去重的 【键值对数据的集合】

键值对->映射关系

价值对:K-V

K键 :无序的,去重的|唯一的 —> Set

V值 :无序的,可重复 —> Collection

  • 注意:

​ K-V 可以为任意引用数据类型

  • 特点:
    • 一个key只能对应一个Value
    • key相同value覆盖

遍历方式:
1.values 获取所有键值对的值

​ Collection values() 返回此映射中包含的值的Collection视图

​ 2.keySet 获取所有键值对的key,根据key获取value

​ Set keySet() 返回此映射中包含的键的Set视图

​ 3.entrySet 获取所有的键值对,每一个键值对都是一个Entry类型 —> 表示一个键值对

​ Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射的Set视图。

package Tuesday;

import java.util.*;

public class Map1 {
    public static void main(String[] args) {
        Map<Integer,String> sc=new HashMap<>();
        sc.put(1,"浩克");
        sc.put(2,"钢铁侠");
        sc.put(3,"美国队长");
        sc.put(4,"黑寡妇");
        sc.put(5,"蜘蛛侠");

        System.out.println(sc.get(4));
        System.out.println(sc.containsKey(9));
        System.out.println(sc.containsValue("蜘蛛侠"));
        System.out.println(sc.remove(2));
        System.out.println(sc.replace(1, "浩克", "钢铁侠"));
        System.out.println(sc.size());
        System.out.println("==================");
        System.out.println(sc);

        Map<Integer,String> ss=Map.of(12,"惊奇队长",23,"灭霸");
        System.out.println(ss);

        System.out.println("=========值===========");
        Collection<String> sf=sc.values();
        for (String se:sf){
            System.out.println(se);
        }

        System.out.println("=======键=======");
        Set<Integer> sx=sc.keySet();
        Iterator<Integer> sz=sx.iterator();
        while(sz.hasNext()){
            Integer key=sz.next();
            System.out.println(key+"--->"+sc.get(key));
        }

        System.out.println("===========entrySet=============");
        Set<Map.Entry<Integer,String>>  dui=sc.entrySet();
        for (Map.Entry<Integer,String> sv:dui){
            System.out.println(sv.getKey()+"--->"+sv.getValue());
        }
    }
}

11.16 TreeMap

TreeMap :

  • **底层:**红黑树

存储键值对类型的数据,自动升序排序,去重的

  • 去重,排序:

根据键值对的key实现,与value本身无关

  • 注意:

  • TreeSet底层是由TreeMap

  • 此实现不同步

  • **测试:**使用TreeMap存储键值对数据,key要求为javabean类型教师数据,value存储教授学科,测试存储练

    习是否可以根据key实现去重,测试是否为升序排序,要求根据教师编号做升序排序

    去重|排序:根据key的类型的比较规则,key的数据类型实现内部比较器,传递外部比较规则

package Tuesday;

import java.util.Comparator;
import java.util.TreeMap;

public class TreeMap1 {
    public static void main(String[] args) {
//        匿名内部类
        Comparator<Teacher1> sf=new Comparator<Teacher1>() {
            @Override
            public int compare(Teacher1 o1, Teacher1 o2) {
                return o1.getNum()-o2.getNum();
            }
        };
//        Lambad
        sf=(o1,o2)->o1.getNum()-o2.getNum();
        TreeMap<Teacher1,String> sc=new TreeMap<>(sf );
        sc.put(new Teacher1(1,"zhang",23),"语文");
        sc.put(new Teacher1(2,"wang",44),"历史");
        sc.put(new Teacher1(3,"chang",26),"英语");

        System.out.println(sc);
    }
}
class Yest implements Comparator<Teacher1> {

    @Override
    public int compare(Teacher1 o1, Teacher1 o2) {
        return o1.getNum()-o2.getNum();
    }
}

package Tuesday;

public class Teacher1 implements Comparable<Teacher1> {
    private int num;
    private String name;
    private int age;

    public Teacher1() {
    }

    public Teacher1(int num, String name, int age) {
        this.num = num;
        this.name = name;
        this.age = age;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Teacher1{" +
                "num=" + num +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    @Override
    public int compareTo(Teacher1 o) {
        return this.num-o.num;
    }
}

11.17 HashMap

HashMap :

基于哈希表的Map接口的实现。 此实现提供了所有可选的映射操作,并允许null值和null键。

HashSet 底层是由HashMap

  • **底层结构:**哈希表(数组+链表+红黑树)

  • 哈希表:

    • **数组 :**节点数组Node[ ] --> 要求数组的长度为2的整数次幂

    • **Node :**int hash,Object key,Object value,Node next

      每个索引位置存储的为一个单向链表的首节点(尾插法)

      当链表的长度>8,数组的长度>64,会把链表优化成为红黑树

      当链表的长度>8,但是数组的长度不大于64,这时候会实现扩容(数组的扩容)

    • **初始容量:**哈希表中的数组默认的初始长度 16

      ​ static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16

      ​ 数组的容量最大容量 : static final int MAXIMUM_CAPACITY = 1 << 30;

    • **加载因子:**0.75 一般不建议改变

      • 默认加载因子 : static final float DEFAULT_LOAD_FACTOR = 0.75f ;
    • **扩容阀值 threshold:**扩容的临界值 数据的个数size>数组的长度*加载因子 就会扩容

    • **扩容机制:**原容量的2倍 int newCap = oldCap << 1

    • **新增功能:**无

HashMap的哈希表存储数据的过程:

1.根据key计算哈希值

通过key的hashCode方法的返回值进一步进行hash算法的运算,得到的整数

int hash = (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);

2.调用putVal方法实现添加数据(hash,key,value)

  1. 判断是否是第一次调用put方法做添加 if ((tab = table) == null || (n = tab.length) == 0)

​ 如果是第一次添加,直接调用resize()实现扩容

  1. 计算位桶的索引 int index = (n - 1) & hash

  2. 判断哈希表结构的数组table[index]是否存在数据

​ ① 如果不存在数据,证明没有头节点,创建新节点,放入当前数组的对应索引位置作为头节点

​ table[index] = new Node<>(hash, key, value, next);

​ ② size数据的个数+1,判断是否>扩容的阀值,如果大于需要调用resize方法进行扩容,如果不大于,不需要扩容直接返回null

​ if (++size > threshold) resize();

​ return null;

​ ③ 如果存在数据,作为链表的头结点,遍历这个链表,拿到每一个节点的key与hash值判断是否与要添加的key

和hash相同,如果相同,value覆盖

​ if (e.hash == hash && ((k = e.key) == key || (key != null && key.equals(k))))

​ value覆盖之后,返回被覆盖的value

​ V oldValue = e.value;

​ e.value = value;

​ return oldValue;

去重 : 根据key做去重,要求key的数据类型重写hashCode与equals方法

11.19 HashMap与Hashtable

Hashtable 与 HashMap之间的区别:

**共同点 :**都是Map接口的实现类,底层结构都是哈希表

异同点 :

1.继承体系不同

2.线程是否安全不同
HashMap 线程不安全|不同步

​ Hashtable 线程安全的|同步的

3.扩容机制不同

​ HashMap扩容机制 :每次扩容原容量的2倍

​ int newCap = oldCap << 1

​ Hashtable扩容机制 :原容量的2倍+1

​ int newCapacity = (oldCapacity << 1) + 1;

4.键值对数据null值的要求不同

​ HashMap 可以存储null值的key与value

​ Hashtable key与value都不为null

5.计算hash值与位桶索引index的算法不同

​ HashMap :

​ int hash = (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);

​ int index = (n - 1) & hash

Hashtable :

​ int hash = key.hashCode();

​ int index = (hash & 0x7FFFFFFF) % tab.length;

如何处理HashMap线程不安全问题:

​ 1.使用Hashtable

​ 2.使用Collections工具类中static <K,V> Map<K,V> synchronizedMap(Map<K,V> m) 返回由指定映射支持

的同步(线程安全)映射

​ 3.juc高级并发编程包 ConcurrentHashMap<K,V> —> 线程安全的哈希表

11.20 Collections工具类

Collections :

​ 操作集合的工具类

​ 静态工厂

void sort(List)

//对List容器内的元素排序,排序的规则是按照升序进行排序

void shuffle(List)

//对List容器内的元素进行随机排列

void reverse(List)

//对List容器内的元素进行逆续排列

void fill(List, Object)

//用一个特定的对象重写整个List容器

int binarySearch(List, Object)

//对于顺序的List容器,采用折半查找的方法查找特定对象

【机器人学习】abb工业机器人运动学分析与圆弧轨迹规划(三维模型+matlab代码) 下载链接 solidworks模型 D-H建模 圆仿真过程 视频过程: 阅读详情

相关推荐

Win11 24H2共享访问被禁?深入聊聊SMB签名和‘不安全的来宾登录’那点事

本文深入解析Win11 24H2共享访问故障,探讨SMB签名的安全机制与‘不安全的来宾登录’问题。提供从注册表修改到组策略配置的多层次解决方案,特别针对家庭网络和打印机共享场景给出实用建议,帮助用户在安全与便利之间找到平衡。

weixin_42556197的博客 565

【JAVA】从0到1上手Java 18,超详细教程来袭!

Java18新特性与开发指南 本文全面介绍了Java18的安装、语法基础、新特性及面向对象编程实践。主要内容包括: 安装指南:详细说明Windows、macOS和Linux系统的安装步骤及环境配置; 基础语法:涵盖变量、运算符、流程控制等核心语法,对比旧版本优化点; 新特性解析:重点讲解简单Web服务器、文本块语法和模式匹配增强,辅以代码示例; 面向对象编程:通过实例演示封装、继承、多态的应用; 常见问题:汇总安装、语法、内存溢出等问题的解决方案。

大雨淅淅的博客 1758

自动驾驶仿真:Carsim、NI和VTD联合仿真课题二

文章目录前言一、设备配置1、硬件需求2、网络配置二、Carsim工程配置1、创建工程2、创建数据库3、参数配置三、VTD工程配置1、创建工程四、Veristand工程配置1、创建工程五、运行程序 前言 上篇文章《Carsim、NI和VTD联合仿真课题一》简单地介绍了三者之间的联合框架,以及NI与VTD之间简单的组包与拆包指导。这篇文章将要讲述的是如何将三个软件联合起来,如何设置软件参数,用最简单的方法把仿真车开起来。 一、设备配置 1、硬件需求 注:真正的做智能驾驶仿真项目,至少需要两台电脑,一台实时机

zataji的博客 1万+

Java18安装教程与环境搭建

Java18安装教程与环境配置

lukaidaxue的博客 7749

Tessent_StdcellLib

第二种为 Tessent Cell lib,既可用于功能仿真,也可以用于测试逻辑插入。lib包含了用于仿真的功能信息,也包含DFT cell属性。如何使用tessent工具将stdcell verilog 仿真模型转换为tessent自己的lib。运行后工具会生成一个atpg的lib文件,打开文件,找到一个带SI的DFF,只有功能描述。tessnt lib分为两种,第一种为ATBG lib,可以用于仿真;打开生成的lib文件,多了dft_cell_selection。第二部:编写attributes文件。

qq_40411444的博客 2135

西安交通大学SQ轴承数据集(文末附数据)

西安交通大学SQ轴承数据集

qq_43271683的博客 1万+

我们一起聊聊Java 18 新功能,你知道了吗?

Java 18 在2022 年 3 月 22 日正式发布,Java 18 不是一个长期支持版本,这次更新共带来 9 个新功能。 OpenJDK Java 18 下载:https://jdk.java.net/18/ OpenJDK Java 18 文档:https://openjdk.java.net/projects/jdk/18/ JEP 描述 JEP 400 默认为 UTF-8[1] JEP 408 .

HongYu012的博客 9192

【没有网络,安装python包】如何从 PyPI 下载并安装 Plotly 的离线包

在某些情况下,您可能需要在没有互联网连接的环境中安装 Python 包,例如在飞机上、在某些受限制的网络环境中或在需要离线安装的场景下。以下是如何在 PyPI(Python Package Index)下载 Plotly 包并进行离线安装的详细步骤。

赖德发的博客 1103

[Java教程 18] 面向对象简介

 转载声明:商业转载请联系作者获得授权,非商业转载请注明出处.原文来自 © 呆萌钟【JavaSe必知必会】20-面向对象简介 面向对象思想引入 前面我们讲过数组,当有多个数组都需要遍历时,我们可以将遍历的代码封装到方法中,需要遍历时,就调用相应的方法即可,提高代码的复用性。在对数组遍历的基础上继续增加需求,比如获取最值,数值逆序等,同样需要将这些功能封装到相应的方法中。这样继续封装会发现方...

呆萌钟的博客 263

鸿蒙OS开机动画背后的秘密:从代码到视觉的完整解析(附源码分析)

本文深入解析了鸿蒙OS开机动画的系统级实现原理。从bootanimation服务的启动配置、与Render Service的协同,到基于VSync信号的帧率同步与绘制流水线,结合OpenHarmony源码进行了逐行解读。文章揭示了其事件驱动的优雅退出机制,并探讨了视频支持、多屏适配等高级特性与定制化可能,为开发者理解鸿蒙图形子系统提供了硬核技术视角。

sony5的博客 972

基于STM32设计的老人摔倒检测报警系统(OneNet+MQTT)(235)

基于STM32设计的老人摔倒检测报警系统,不仅能够实时监测老人的位置信息,方便在紧急情况下快速定位,还能通过陀螺仪模块精确检测老人的身体姿态,一旦判断为摔倒状态,系统将立即触发蜂鸣器报警,并通过4G网络向指定联系人发送短信警示,确保老人能够迅速得到援助。此外,系统还支持老人主动按下设备上的按键发送求助短信,增强了系统的灵活性和实用性。

4691

jdk18安装详细教程

本节,我主要总结下jdk18的下载和安装,因为我看网上这方面资料很少: jdk其他版本安装类似: 一.下载JDK 1.首先,我们先去oracle官网下载jdk,这个直接百度就可以,当然,你也可以按照我给的链接地址去下载jdk18; jdk18官方下载地址 2.下载完成后,直接双击.exe文件,按照默认路径安装,当然 安装完成后,点击关闭按钮即可。 二.配置环境变量 1.打开系统高级设置; 1)win10选择(此电脑->属性->高级系统设置->环境变量) 2)当然,你也可以通过命令

总结复盘,才能不迷失自己! 3万+

代谢组数据分析(二十二):代谢组原始数据Zscore标准化和主成分分析(PCA)及热图

本教程介绍了使用Z-score标准化和主成分分析(PCA)进行代谢组学数据预处理和分析的方法。代谢物原始数据具有高噪声、高维小样本、高变异性和复杂相互作用关系等特点,因此在数据分析时需注意数据质量控制、参数选择、批次效应、假阳性控制等问题。Z-score标准化通过将数据转换为均值为0、标准差为1的标准正态分布,提高了数据的可比性,减少了系统误差,并适应了统计分析方法的需求。PCA则通过降维、去相关和特征提取,帮助理解数据的结构和模式。教程还详细介绍了数据预处理步骤,包括填补缺失值、设置名称和顺序等,并提供了

专注生信领域 2859

Java阶段五Day18

今天是学习Java阶段五的第十八天,讲了一些关于缓存的方案,继续实现项目功能,学习时序图

今天你学Java了吗 794

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JAVA教程 从入门到精通 Day 2

java基础

dlogcs的博客 261

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

JAVA教程 从入门到精通 Day9

JAVA基础

dlogcs的博客 455

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【java从入门到精通】day18-数组

1、数组的定义 数组是相同类型数据的有序集合 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们 2、数组声明创建 首先必须声明数组变量,才能在程序中使用数组,下面是声明数组变量的语法: dataType[] arrayRefVar; //首选的方法 //示例: int[] nums;//1、声明一个int数组 或 dataType arrayRefVar[]; //效果相同,但不是首选方法 //示例: in

ljtc22986895的博客 219

Java基础day18

Java基础day18Java基础day18-字节缓冲流&字符流1.字节缓冲流1.1字节缓冲流构造方法1.2字节流复制视频 Java基础day18-字节缓冲流&字符流 1.字节缓冲流 1.1字节缓冲流构造方法 字节缓冲流介绍 lBufferOutputStream:该类实现缓冲输出流。 通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用 lBufferedInputStream:创建BufferedInputStream将创建一个内部缓冲区数组

原文的博客 865

java基础入门day18

java基础入门

zpz2001的专栏 986

JAVA教程 从入门到精通 Day10

JAVA基础

dlogcs的博客 469

java程序设计教程 20天java核心技术教程

java很多的培训机构都会录制比较完整的java程序设计入门级视频教程提供下载的,单是想要java入门的话下载尚硅谷20天java核心技术教程看这些就够了,如果要深入的学习java可以参考他们列出来的教学提纲! 【java课程内容】 第1章:Java语言概述(day01) 第2章:基本语法(day01-day04) 第3章:面向对象编程(day05-day07) 第4章:高级类特性1(day07-...

fengliaoai的博客 614

# Day18-Java基础

Day18-Java 文章目录Day18-Java1、Map集合1.1 子类:HashMap面试题:解释HashMap的原理1.2 子类:Hashtable1.3 ConcurrentHashMap子类1.4 Map使用Iterator输出1.5 Map中的key实现说明1.6 TreeMap子类 1、Map集合 偶对象指的是一对对象,即:两个对象同时保存,这两个对象是按照了“key=value”的形式进行定义的,即:可以通过key找到对应的value数据,就好像电话本一样,例如,电话本之中保存了如下的信息

Java厂长 1899

java入门教程

java入门教程day01一、写教学的原因1.java的发展历史2.java之父3.java版本发展4.主要应用领域5.java的特点6.跨平台(平台无关性) 重点!二、下面要开始写代码了,激动不!1.编译和运行 一、写教学的原因 在自学java之前,网上找资料学习十分困难,不成体系,为了新的小伙伴能够更加方便的学习,我对之前自学内容进行了一个总结,希望对您有所帮助!总结内容第一天。 1.java...

qq_42437587的博客 284

自学it18大数据笔记-第一阶段Java-day05-day06-day07-day08

笔记为自学时随手记录,如有错误,欢迎指正,不胜感激! 笔记分享:自学it18大数据笔记-第一阶段Java-day05-day06-day07-day08——会持续更新…… 第一阶段Java-day03-day04见:http://t.cn/R65SR0f day05笔记见下图: day06笔记见下图: day07笔记见下图: day08笔记见下...

weixin_30364147的博客 180

Java学习教程,从入门到精通,Java break语句和continue语句(18)

在处理循环时,有时需要跳过循环中的某些语句,或者在不检查测试表达式的情况下立即终止循环。 在这种情况下,将使用break和continue语句。要了解该break语句,请访问Java break。 Java中的continue语句跳过循环的当前迭代(for,while,do…while等),程序的控制权移到循环的末尾。并计算循环的测试表达式。

qq_45746668的博客 691

大数据学习-Java Day18

大数据学习-Java Day18 网络编程 1 网络编程的常识 目前主流的网络通讯软件有:微信、QQ、飞信、阿里旺旺、陌陌、探探、… 七层网络模型 七层网络模型 OSI(Open System Interconnect),即开放式系统互联,是ISO(国际标准化组织)组织在1985 年研究的网络互连模型。 OSI七层模型和TCP/IP五层模型的划分如下: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4EVpvggv-1605693415006)(.\picture\

weixin_45083611的博客 265
上一篇: JAVA教程 从入门到精通 Day17
下一篇: JAVA教程 从入门到精通 Day19
dlogcs
博客等级 码龄7年 0粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值