邮箱购买网站,湖南省郴州市汝城县,泰安网站建设培训,桃源网站建设JAVA按以下重要顺序 面向对象 类集框架 JDBC 文件编程本季目标主要讲解以下的内容#xff1a; Collection List Set Map Iterator ListIteator Enumeration for…each语句#xff08;JDK 1.5的新特性#xff09; Comparable接口 二叉树1、类集结构#xff08…JAVA按以下重要顺序 · 面向对象 · 类集框架 · JDBC · 文件编程 本季目标 主要讲解以下的内容 · Collection · List · Set · Map · Iterator · ListIteator · Enumeration · for…each语句JDK 1.5的新特性 · Comparable接口 · 二叉树 1、类集结构 1类集的产生目的 类集简单来讲就是一个动态的对象数组此对象数组可以改变大小可以任意的实现对象的增加、删除、输出。所有的类集存放java.util包中。 2类集的划分 1、存放单值Collection 2、存放一对值Map 3、输出Iterator 3类集的具体概念 1Collection只能存放一个值 |- 主要功能用于输出使用 |- 子接口List允许有重复的元素而且加入的顺序就是输出的顺序 |- 子类ArrayList是在Java 2之后推出的是新的类是使用异步处理方式其性能较高 |- 子类Vector是在JDK 1.0的时候就推出因为是旧的类有很多List所没有的功能是使用同步处理方式其线程安全性较高会比较慢。使用Vector除了可以使用Iterator输出之外也可以使用Enumeration进行输出。两者是通用的。Vector子类允许直接使用addElement(Object obj)也是可以向集合中加入元素的。 |- 自己新增的方法 |- 取每一个对象public Object get(int ind) ; |- 子类Stack栈 |- 子接口Set不允许有重复元素重复元素会替换如何可以区分重复元素呢 |- 子类HashSet是无序列存放 |- 子类TreeSet有序存放是通过Comparable接口完成的 |- 常用方法 |- 增加一个对象public boolean add(Object obj) |- 取得类集的长度public int size() ; |- 判断集合中的内容是否为空public boolean isEmpty() |- 删除一个对象public boolean remove(Object obj) 就必须牵扯到对象的比较状态。 |- 实例化Iterator对象public Iterator iterator() ; 2JDK 1.5提供了一个方便的输出操作for…each语句。 3Iterator接口输出是最常见的 |- 常用方法 |- public boolean hasNext()判断是否有下一个元素 |- public Object next()取出下一个元素 |- 子接口ListIterator可以进行双向输出只对于List接口有用 |- 常用方法具备了Iterator接口中的全部内容 |- public boolean hasPrevious() |- public Object previous() 4Enumeration在1.5之后也加入、泛型支持哈~ |- 常用方法 |- 判断是否有下一个元素public boolean hasMoreElements() |- 取出元素public Object element() 5、 Map存放一对值 |- 功能与Collection的功能不一样Map的主要功能是用于查找使用的。 |- 注意点 |- 使用Map操作时不能直接使用Iterator进行输出。 |- 而且里面不能有重复key。 |- 如果非要使用Iterator进行输出则必须按以下的步骤进行操作 |- Map -- Set -- Iterator -- Map.Entry -- key与value的分离 |- 常用子类 |- HashMap无序存放是新的类是JDK 1.2时推出的是异步处理性能较高 |- Hashtable是旧的类是JDK 1.0时推出的是线程安全的性能较低 |- Properties重点属性文件操作类 |- TreeMap有序存放 |- 常用方法 |- 向集合中保存数据public Object put(Object key,Object value)返回的是value |- 从集合中查找数据public Object get(Object key)根据key查找。 |- 将Map数据变为Set实例SetMap.EntryK,V entrySet() |- 将全部的key变为set实例SetK keySet() |- 将全部的vlaue变为Collection接口实例CollectionV values() |- Map.Entry保存key与value |- public Object getKey() |- public Object getValue() |- 存放key的注意点 ################Michael分割线#################### 2、代码讲解 11HashMap Map的基本应用 如果查到了则返回具体的值如果没有查到则返回null 使用Iterator输出Map接口中的内容 HashSet是无序列存放滴~~~ 将全部的key进行输出 输出全部的值 12Hashtable 13TreeMap 按key进行排序本操作中依然使用了Comparable接口。 TreeSet有序存放是通过Comparable接口完成的 14Stack 入栈public Object push(Object obj) 出栈public Object pop() 注意点如果此时栈中已经没有内容了则会出现异常。 15Properties重点 · 属性操作类所有的key 与value 都按属性设置都是字符串。而且此属性文件可以直接保存在文件中或从文件中读取出来。 设置属性public Object setProperties(String key,String value) 取得属性 |- public String getProperty(String key) 根据key读取属性返回值 |- public String getProperty(String key,String def) 如果没有读到值则返回def指定的内容。 保存在文件中 |- 保存成普通文件public void store(OutputStream out,String comments) throws IOException |- 保存成XMl文件public void storeToXML(OutputStream out,String comments) throws IOException 从文件中读取属性 |- 从普通文件中读取public void load(InputStream input) throws IOException |- 从XML文件中读取public void loadFromXML(InputStream input) throws IOException 将内容保存成普通文件 将内容保存为XML文件 从XML文件中把属性读取出来 16Map重要补充 以上的程序可以通过key找到value。 现在把代码反过来 代码反过来之后发现没有得到真正想要的内容而是返回了null。 此时如果要通过匿名对象来当作key找到属性的话就必须牵扯到Object中的几个方法 · 对象比较 · 通过hashCode Java中是通过equals和hashCode方法去确认对象唯一性可以进行比较。 但是以上的程序需要一点更改因为不能让所有对象的hashCode方法的返回值都是一样的所以可以经过一些自己简单的运算。 一个完整的类最好覆写Object类中的三个方法 · hashCode · equals · toString 17额外补充对象克隆 就是把对象的内容重新复制一份复制出一个新的对象 protected Object clone() throws CloneNotSupportedException 克隆方法是一个受保护的方法。所以在其需要对象被克隆的子类中必须扩大权限否则外部无法看见。 对象所在的类必须实现Cloneable接口 Java程序中常用的有两大标识接口 · 可序列化Serializable · 可克隆Cloneable 总结 就是向里面不断加入元素可以动态的扩充而且可以有存放单值的也可以有存放一对值的。 而且在集合中对于排序使用的是Comparable接口。 实例的模型很重要 —— Hibernate、EJB 3.0。 ######################Michael分割线#############################