网站模板之家免费模板,林萌荣温州市网页制作,企业网络安全解决方案,wordpress微信链接地址java概念(2)重载和重写重载#xff1a;同一个类中#xff0c;方法名相同#xff0c;参数不同重写#xff1a;父子类中#xff0c;子类重新定义父类的方法多态 多态#xff1a;同一种行为#xff0c;不同的对象有不同的表现形式。 重载 编译时根据参数决定调用的方法…java概念(2)重载和重写重载同一个类中方法名相同参数不同重写父子类中子类重新定义父类的方法多态 多态同一种行为不同的对象有不同的表现形式。 重载 编译时根据参数决定调用的方法即编译时的多态性。 重写 运行时根据对象类型调用子类方法即运行时的多态性。优点子类可以重写提高了重用性接口和抽象类的区别抽象类使用abstract修饰不能使用new来实例化对象抽象类不一定包含抽象方法可以有具体的方法接口使用interface修饰接口不能被实例化一个类只能继承一个类但可以实现多个接口接口中方法均为抽象方法接口中不能包含实例域或静态方法。注意抽象类主要做父类提供公共的属性和方法便与重用。接口提供一种规范目的是降低耦合比抽象类 抽象程度更高。序列化 序列化: 把对象转换为字节序列 保存到流 。实现方式(1) 将 被 序 列 化 的 类 实 现Serializable 接口 进行标识。class Student implements Serializable{}(2)使用流进行读/写ObjectOutputStream objectStreamnew ObjectOutputStream(new FileOutputStream(new File(“d:\student.txt”));objectStream.writeObject(objectStream);objectStream.close();(3) 反序列化: 将字节序列恢复为对象 。ObjectInputStream objectStreamnew ObjectInputStream( new FileInputStream(new File(“d:\student.txt”))); Studentstudent(Student)objectStream.readObject();5.Java中集合框架要点:Java集合类由两个接口派生Collection和MapCollection分两大部分List和SetListQueue是Java提供的队列实现Map是映射接口每个元素都是一个key-value键值对Set、List、Map 集合最常用 HashSet、ArrayList、HashMapList、Map、Set 区别List有序、可重复 集合集合中每个元素都有 对应顺序索引。 List 默认按元素添加顺序 设置元素的索引可以通过索引来访问指定位置元素。 List接口集合ArrayList、LinkedList、Vector、Stack。Set接口不允许重复 常用实现类有HashSet、LinkedHashSet和TreeSet。Map接口采用键值对Map的存储方式保存具有映射关系的数据 key值不允许重复可以为null。如果已经有重复的key则新的value会覆盖该key原来对应的value。 常用实现类有HashMap、LinkedHashMap、TreeMap等。7. HashMap 和 HashTable 有什么区别?要点HashMap与Hashtable是Map接口的两个典型实现。都是采用了hash表数据结构来实现可以快速定位元素。存储时根据key的哈希值决定元素存放的位置。HashMap继承自AbstractMap类。实现了Map接口。Hashtable继承自Dictionary类Dictionary类是一个已经被废弃的类。父类已经不推荐使用因此它的子类Hashtable也很少用了。Hashtable是JDK1.0引入的是线程安全的适用于多线程环境HashMap是JDK1.2引入的非线程安全的适用于单线程环境。不保证存取的顺序性的也就是说遍历HashMap的时候得到的元素的顺序与添加元素的顺序是不同的。HashMap是允许key和value为null值的只能有一个key为null。它用containsValue和containsKey方法判断是否包含对应键值对HashTable键值对都不能为空否则包空指针异常。8 .Java 中 ArrayList 和 LinkedList 以及Vector的区别要点ArrayList是一个动态数组Object[]是List类的典型实现。它允许任何符合规则的元素插入甚至包括null。每一个ArrayList都有一个初始容量(10)该容量代表了数组的大小。随着容器中的元素不断增加容器的大小也会随着增加。在每次向容器中增加元素的同时都会进行容量检查当快溢出时就会进行扩容操作。所以如果我们明确所插入元素的多少最好指定一个初始容量值避免过多的进行扩容操作而浪费时间、效率。ArrayList擅长于随机访问。同时ArrayList是非同步的。LinkedList是List接口的另一个实现除了可以根据索引访问集合元素外LinkedList还实现了Deque接口可以当作双端队列来使用也就是说既可以当作“栈”使用又可以当作队列使用。LinkedList的实现机制与ArrayList的实现机制完全不同ArrayLiat内部以数组的形式保存集合的元素所以随机访问集合元素有较好的性能LinkedList内部以链表的形式保存集合中的元素所以随机访问集合中的元素性能较差但在插入删除元素时有较好的性能。Vector与ArrayList相似但是Vector是线程同步的。所以说Vector是线程安全的动态数组。它的操作与ArrayList几乎一样。9.HashSet是如何保证数据不可重复的要点HashSet的底层其实就是HashMap,只是HashSet是实现了Set接口并且把数据作为Key值而value值一直使用一个相同的虚值来保存.由于HashMap的Key值本身就不允许重复并且在HashMap中如果Key/value相同时会用新的Value覆盖掉旧的Value然后返回旧的Value内部执行终会返回一个false导致插入失败这样就保证了数据的不可重复性.10.Collection和Collections区别要点 Collection是集合的顶层结构提供了集合的公共操作的规范Collections是一个静态的工具类提供了集合常见的操作实现比如排序搜索反序等简化开发中常见的功能。void reverse(List list)//反转void shuffle(List list)//随机排序void sort(List list)//按自然排序的升序排序void sort(List list, Comparator c)//定制排序void swap(List list, int i , int j)//交换两个索引位置的元素void rotate(List list, int distance)//旋转。当distance为正数时将list后distance个元素整体移到前面。当distance为负数时将 list的前distance个元素整体移到后面int binarySearch(List list, Object key)//对List进行二分查找int max(Collection coll)//根据元素的自然顺序返回最大的元素。int max(Collection coll, Comparator c)//根据定制排序返回最大元素void fill(List list, Object obj)//用指定的元素代替指定list中的所有元素。int frequency(Collection c, Object o)//统计元素出现次数int indexOfSubList(List list, List target)//统计target在list中第一次出现的索引boolean replaceAll(List list, Object oldVal, Object newVal)元素。int frequency(Collection c, Object o)//统计元素出现次数int indexOfSubList(List list, List target)//统计target在list中第一次出现的索引boolean replaceAll(List list, Object oldVal, Object newVal)//用新元素替换旧元素标签java,HashMap,List,ArrayList,元素,list,接口,概念来源 https://blog.csdn.net/weixin_48407105/article/details/113801842