• Java学习day17



    复习一下,发现一些遗漏知识点,补上

    一、 序列化和反序列化

    序列化与反序列化

    写完代码后,发现没有ID也可以进行序列化和反序列化,所以进行搜索

    IDEA自动生成序列化ID

    Serializable.java中也有描述:

    经搜索得知,IDEA中对序列化ID的警告默认是关闭的,可以通过"Setting->Editor->Inspections->搜索UID->勾选选项"打开警告,然后可以通过警告自动生成serialVersionUID

    二、 Java集合框架

    Runoob教程

    LinkedList(链表)

    LinkedList:该类实现了List接口,允许有null(空)元素。主要用于创建链表数据结构,该类没有同步方法,如果多个线程同时访问一个List,则必须自己实现访问同步,解决方法就是在创建List时候构造一个同步的List。例如:

    List list=Collections.synchronizedList(newLinkedList(...));
    

    LinkedList 查找效率低。

    ArrayList(数组)

    该类也是实现了List的接口,实现了可变大小的数组,随机访问和遍历元素时,提供更好的性能。该类也是非同步的,在多线程的情况下不要使用。ArrayList 增长当前长度的50%,插入删除效率低。

    HashSet(不可重复无顺序)

    该类实现了Set接口,不允许出现重复元素,不保证集合中元素的顺序,允许包含值为null的元素,但最多只能一个。

    TreeSet

    该类实现了Set接口,可以实现排序等功能。

    迭代器(Iterator)

    例:遍历ArrayList

    import java.util.*;
     
    public class Test{
     public static void main(String[] args) {
         List<String> list=new ArrayList<String>();
         list.add("Hello");
         list.add("World");
         list.add("HAHAHAHA");
         //第一种遍历方法使用 For-Each 遍历 List
         for (String str : list) {            //也可以改写 for(int i=0;i<list.size();i++) 这种形式
            System.out.println(str);
         }
     
         //第二种遍历,把链表变为数组相关的内容进行遍历
         String[] strArray=new String[list.size()];
         list.toArray(strArray);
         for(int i=0;i<strArray.length;i++) //这里也可以改写为  for(String str:strArray) 这种形式
         {
            System.out.println(strArray[i]);
         }
         
        //第三种遍历 使用迭代器进行相关遍历
         
         Iterator<String> ite=list.iterator();
         while(ite.hasNext())//判断下一个元素之后有值
         {
             System.out.println(ite.next());
         }
     }
    }
    

    三种方法都是用来遍历ArrayList集合,第三种方法是采用迭代器的方法,该方法可以不用担心在遍历的过程中会超出集合的长度。

    foreach和迭代器的区别

  • 相关阅读:
    JVM如何执行方法调用
    JVM如何实现反射
    JVM是如何处理异常的
    Java类加载
    windows-Kafka安装
    Google Eventbus简单使用
    队列c#版
    python 元类

    Spring Mvc 笔记二之异常和文件上传
  • 原文地址:https://www.cnblogs.com/ebym/p/15830626.html
Copyright © 2020-2023  润新知