集合与io流
来源:互联网 发布:google浏览器for mac 编辑:程序博客网 时间:2024/06/18 11:09
集合
Collection 集合是父接口 包含了List和Set两个子接口
Collection 接口存储一组不唯一,无序的对象
List 接口存储一组不唯一,有序(插入顺序)的对象
Set 接口存储一组唯一,无序的对象
Map接口存储一组键值对象,提供key到value的映射。Key无序,唯一。value不要求有序,允许重复。(如果只使用key存储,而不使用value,那就是Set)
ArrayList :内部实现是数组,优点遍历和查找,缺点:添加和删除
LinkedList:内部实现是链表,优点添加和删除,缺点:遍历和查找
对于多数据查找和遍历使用ArrayList(读)
对于多数据添加和删除使用LinkedList(写)
Iterator 迭代器,
可以对所有的集合进行迭代(一个个取出来)
hasNext() // 判断是否有下一位
next()// 取出当前位的值
HashSet hash表集合 有点速度快 缺点 无序 LinkedHashSet(完美)
TreeSet 红黑二叉树组成 比ArrayList快
<泛型>不特指那种类型,你里面写什么类型就是什么类型
Set集合踢出重复元素如果是引用数据类型需要重写hashCode和equals方法
TreeSet集合要求你提供排序规则 TreeSet中的元素需要实现比较接口(Comparable)重写compareTo方法
Set相对与List没有下标,所以没有get方法,不能使用普通for循环取值(for each,Iterator)
Map key-value键值对方式存储数据
key 唯一 无序(set)
value 不唯一 无序
HashMap TreeMap LinkedHashMap HashTable
put 添加方法
get(key)取值方法
keySet values entrySet
containsKey containsValue
Collections 集合工具类 提供静态方法如排序,查找,反序,随机排序等
Io流
inputStream 输入流 outputStream输出流
从数据源(文件)-> 程序 读 输入流
从程序-> 数据源(文件) 写 输出流
流的分类:
按照方向分:
输入流:InputStream和Reader
输出流:OutputStream和Writer
按照发送数据的基本单元分:
字节流:InputStream 和OutputStream
字符流:Reader和Writer
按照功能分:
节点流:直接可以操作数据源或目的地
包装流:不能操作数据源或目的地,主要是辅助节点流,提高性能和效率,简化操作。
节点流和处理流的关系:
节点流处于io操作的第一线,所有操作必须通过他们进行;处理流可以对节点流进行包装,提高性能或提高程序的灵活性
文件操作流:FileInputStream 和 FileOutputStream
BufferedReader 和BufferedWriter
二进制文件流:DataInputStream 和DataOutputStream
对象读写流:ObjectInputStream 和ObjectOutputStream
把Java对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为Java对象的过程称为对象的反序列化。
对象的序列化主要有两种用途
1) 持久化: 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;比如:休眠的实现。以后服务器session管理,hibernate将对象持久化实现。
2) 网络通信:在网络上传送对象的字节序列。比如:服务器之间的数据通信,对象传递
实现和注意事项:
实现接口Serializable Serializable接口中没有任何的方法,实现该接口的类不需要实现额外的方法。
如果对象中的某个属性是对象类型,必须也实现Serializable接口才可以
序列化对静态变量无效
如果不希望某个属性参与序列化,不是将其static,而是transient
串行化保存的只是变量的值,对于变量的任何修饰符,都不能保存
序列化版本不兼容
- 集合与io流
- IO流-----File类与Properties集合
- 集合类与IO
- 集合与IO原理深入
- java集合、IO流
- Properties类---与IO流相关的集合类
- 黑马程序员—集合与IO流综合练习
- io流与Map集合的结合Properties
- 【java基础:集合与IO】Properties集合与IO流相结合进行数据读取和存储的demostration
- Java IO流,Properties集合
- java基础IO流集合
- Map集合/异常/IO流
- java基础第十天——集合框架与IO流
- 集合与IO流结合编写的简单的学生信息管理系统
- OOP,重写与重载,异常处理机制,多线程,集合框架,IO流 -- Java基础复习
- 23-IO流-42-IO流(Properties集合的-基本功能)
- 23-IO流-46-IO流(Properties集合的-练习)
- IO流和集合的联合练习
- Stack-----225. Implement Stack using Queues
- centos minimal配置
- PHP面向对象中魔术方法使用
- 数据库SQL实战练习(上)
- Stack----232. Implement Queue using Stacks
- 集合与io流
- php 好用的日志类
- 多线程与网络
- php 好用的验证码类
- spyder的相关设置及debug
- Qter 遇见的大牛!
- HDU
- java程序员进阶之路需要的学习过程
- 递归与动态规划---最小编辑代价