Java IO

使用File类可以进行创建或者删除文件等常用操作
createNewFile():创建新文件
delete():删除文件
exists():判断文件是否存在
File类提供两个静态常量
pathSeparator:;
separator:\
mkdir():创建文件夹
File类中定义了两个列出文件夹内容的方法
public String[] list():列出全部名称,返回一个字符串数组
public File[] listFiles():列出完整的路径,返回一个File对象数组
isDirectory():判断给定的一个路径是否是目录
IO流
字节流主要操作byte类型对象,以byte数组为准
InputStream:输入流
OutputStream:输出流
OutputStream和InputStream均是抽象类,如果要使用此类首先要通过子类实例化对象,如果要操作的是一个文件,可以使用FileOutputStream和FileInputStream类为其实例化

集合框架

为什么会出现集合类?

面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储,集合是存储对象最常用的方式。

数组和集合都是容器有何区别?

数组也可以存储对象,但长度是固定的,集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象且可以存储不同类型的对象。
集合中存储的都是对象的引用(地址)
Collecton{
List:ArrayList,LinkedList,Vector
Set:HashSet,TreeSet
}
每个容器对数据的存储方式(数据结构)都有不同。
迭代器:集合取出元素的方式
List:元素是有序的,可以重复,该集合体系有索引
迭代时,只能通过迭代器的方法操作元素
ListIterator:List集合特有的迭代器,对Iterator中的方法进行了扩充
ArrayList:底层数据结构为数组
LinkedList:底层数据结构为链表
Vector:底层数据结构为数组(出现最早,后被ArrayList取代)
Set:元素是无序的,元素不可以重复
HashSet:底层数据结构是哈希表
HashSet如何保证元素的唯一性?
通过hashCode和equals两个方法
如果元素的hashCode值相同,判断equals是否为true,如果元素的hashCode值不同,不会调用equals
TreeSet:可以对set集合中的数据进行排序
底层数据结构是二叉树
TreeSet排序的第一种方式(自然排序):让元素自身具备比较性,元素需要实现Comparable接口,覆写compareTo方法
TreeSet排序的第二种方式:当元素自身不具备比较性或者具备的比较性不是所需要的时,让集合自身具备比较性,定义比较器,将比较器对象作为参数传递给TreeSet集合的构造函数
Map
Hashtable:底层数据结构是哈希表,不可以存入null键null值,该集合是线程同步的
HashMap:底层数据结构是哈希表,允许使用null键和null值,该集合是不同步的
TreeMap:底层数据结构是二叉树,线程不同步,可以用于给map集合中的键进行排序
Map集合的两种取出方式
keySet:将map中所有键存入到Set集合,然后迭代取出所有的键,再根据get方法获取值,因为map本身不具备迭代器
entrySet:将map集合中的映射关系存到set集合,而这个关系的数据类型就是Map.Entry

java:从入门到放弃(二)相关推荐

  1. java从入门到放弃(二)

    java从入门到放弃(二) //求园面积 结果保留5位小数double ymj = Math.PI*Math.pow(``2.14``,` `2``);DecimalFormat df1 =new D ...

  2. Java从入门到放弃-序言

    Java从入门到放弃 前言 本人希望由浅及深的探讨java的底层原理,和编程思想,与大家一起学习提升对程序语言的认知.由于自己是理工科出身,所以对底层原理往往非常感兴趣.那么就跟我一起学习Java吧. ...

  3. java从入门到精通二十四(三层架构完成增删改查)

    java从入门到精通二十四(三层架构完成增删改查) 前言 环境准备 创建web项目结构 导入依赖和配置文件 创建层次模型 实现查询 实现添加 实现修改 完成删除 做一个用户登录验证 会话技术 cook ...

  4. java从入门到精通二十三(Servlet)

    java从入门到精通二十三(Servlet) Servlet 说明 Servlet初步入门尝试 Servlet生命周期 Servlet方法说明和体系结构 方法说明 体系结构说明 一些优化封装 urlP ...

  5. Java从入门到放弃09---多态/向上转型/向下转型/多态内存图/抽象类/关键字abstract不能和哪些关键字共存/接口/类与类,类与接口,接口与接口的关系/抽象类与接口的区别

    Java从入门到放弃09-多态/向上转型/向下转型/多态内存图/抽象类/关键字abstract不能和哪些关键字共存/接口/类与类,类与接口,接口与接口的关系/抽象类与接口的区别 01 多态 多态指的是 ...

  6. 《Java从入门到放弃》框架入门篇:hibernate中的多表对应关系(二)

    前一篇讲完了一对多的关系,通过与JDBC对比应该能发现,是不是比JDBC简单了很多? 我们只需要把对象只间的包含或对应关系理清楚,完全不用我们自己来写SQL语句.所以使用hibernate框架后,我们 ...

  7. 《Java从入门到放弃》JavaSE入门篇:面向对象语法二(入门版)

    想了半天,发现单独的封装和多态没什么好讲的,我们就简单说说Java里面对应的语法吧. 相关内容如下: 一.访问修饰符 二.getter/setter方法 三.构造方法 四.super和this 五.s ...

  8. 面向对象java语法_《Java从入门到放弃》JavaSE入门篇:面向对象语法二(入门版)...

    想了半天,发现单独的封装和多态没什么好讲的,我们就简单说说Java里面对应的语法吧. 相关内容如下: 一.访问修饰符 二.getter/setter方法 三.构造方法 四.super和this 五.s ...

  9. 《Java从入门到放弃》JavaSE入门篇:文件操作

    Java中的文件操作还有点小复杂··· 不过没关系,我会把它讲得很简单,嘿嘿嘿!!! 在讲Java中的文件操作前,先了解一个概念--"流",比如我们把一个杯子的水倒到另一个同样大小 ...

  10. javascript java html_JS入门篇(二):在html中如何使用Javascript

    原标题:JS入门篇(二):在html中如何使用Javascript (1)java的使用 HTML 中的脚本必须位于 <> 与 > 标签之间.脚本可被放置在 HTML 页面的 和 部 ...

最新文章

  1. php银盾算法,盾灵商品推广系统
  2. 一个功能齐全的DataGrid分页例子
  3. Java多线程详解(二)
  4. 统计单一进程IOPS
  5. MySQL下载以及安装【windows】
  6. 汇编——NT中读取MBR内容
  7. 微信小程序最新开发资源汇总,对学习微信小程序的新手有一定帮助
  8. 条件语句的多层嵌套问题优化,助你写出不让同事吐槽的代码
  9. iOS 细碎知识整理
  10. linux内核之时间子系统
  11. 普元 EOS Platform 7.6 支持 openGauss2.0数据库方案
  12. 【Unity3D进阶4-8】Unity3D 游戏框架
  13. 利用stm32串口中断进行数码管显示
  14. 应届毕业生的户口、档案、三方协议、报到证、见习期、工龄计算、转正定级等重要知识普及!
  15. 【Photoshop 教程系列第 3 篇】如何在 PS 中修改图片的分辨率和大小(一步一步详细说明)
  16. 计算机模拟超光速,超光速十代笔记本电脑怎么样-电脑测评
  17. 复合调味品,是年轻人新的追逐吗?
  18. MPEG PS流格式
  19. 使用Wiredtiger恢复MongoDB中collection-x-xxx.wt文件数据
  20. 物联网设备和应用程序涉及协议的概述

热门文章

  1. Google关停中国区域翻译服务后继续使用Chrome自带翻译插件的方法教程
  2. ppt入门到精通全套视频教程,Word+Excel+PPT三合一教程(15G)
  3. Print Conductor批量打印工具,Print Conductor|Crack版
  4. 计算机上word如何批量打印,word批量调页面设置 关于Word如何批量打印
  5. tlwn823n无线网卡驱动 linux,centos 6.5安装 TP-link TL-wn823n驱动
  6. MPEG-2 TS流结构浅析
  7. EasyPay移动支付框架
  8. 二级Visual Basic语言视频教程
  9. Python 获取 Flash SWF 文件宽度和高度(Width, Height)
  10. 由QQ魔法卡看腾讯的运作模式