2016.10.06
Vector与ArrayList的区别
Vector与ArrayList都是List接口的实现类,它们都代表链表形式的数据结构。
它们两者的使用比较类似,一般通过add()方法来加元素;remove()方法删除元素,size()得到集合元素的数量等。
import java.util.ArrayList; import java.util.Vector; public class ListText { public static void main(String[] args) { Vector<String> v = new Vector<String>();//创建Vector对象 v.add("hello");//加入元素 v.remove("hello");//删除元素 System.out.println(v.size());//得到vector的元素数量 ArrayList<String> al = new ArrayList<String>();//创建一个ArrayList对象 al.add("hello");//加入元素 al.remove("hello");//删除元素 System.out.println(al.size());//得到链表对象中的元素数量 } }
输出结果为:
0
0
答案:Vector是线程安全的,因为他操作元素的方法都是同步方法,而ArrayList则不是。开发过程中应该根据需要进行选择,如果要保证线程安全的地方则需要使用Vector,而不必要的时候则无需使用Vector,因为ArrayList效率会高一些。
HashMap和HashTable的区别
对于Map接口来说,它有两种比较重要的实现类HashMap和HashTable,它们保存元素的时候,都是无序的,但是也有一定的区别。
import java.util.HashMap; import java.util.Map; public class MapText { public static void main(String[] args){ Map<String,String> map= new HashMap<String,String>();//创建Map对象 map.put("a", "123");//存放元素 map.put("b", "456"); map.put("c", "789"); for(String key:map.keySet()){//通过key的集合进行遍历 System.out.println(key+":"+map.get(key));//用get方法取得value } } }
HashMap和HashTable的区别主要有以下几个方面。
1.HashTable的方法是同步的,HashMap不能同步。
2.HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。
3.HashTable有一个contains()方法,功能和Contains Value()功能一样。
4.HashTable使用Enumeration,HashMap使用Iterator.
5.hashTable中hash数组的初始化大小及其增长方式不同。
6.哈希值的使用不同,HashTable直接使用对象的hashCode,而HashMap会重新计算hash值。
相关推荐
Java和Android面试题涵盖了许多核心概念,以下是这些知识点的详细说明: 1. **面向对象** (Object-Oriented Analysis and Design Principle, OOADP): 面向对象编程是Java和Android开发的基础,它涉及类、对象、继承...
约1000道经典Java&Android面试题和答案打包下载 约1000道经典Java&Android面试题和答案打包下载 约1000道经典Java&Android面试题和答案打包下载 约1000道经典Java&Android面试题和答案打包下载 约1000道经典Java...
Java和Android面试题大全的知识点主要包括Java基础部分和Android相关技术。以下是对部分知识点的详细解读: 1. Java源文件中的类定义限制:在Java编程中,一个.java文件可以定义多个类,但是只能有一个类声明为...
在给定的内容中,我们可以看到提到了大量的知识点,这些内容覆盖了Java基础和Android面试题的核心主题。以下是根据文件内容整理出的知识点: Java基础知识: 1. Java集合框架:涉及ArrayList、LinkedList、HashMap...
资源名称:JAVA Android面试题讲解视频资源目录:【】2012黑马程序员01_面试题【】2012黑马程序员02_面试题【】2012黑马程序员03_面试题【】2012黑马程序员04_面试题【】225ce844c6c817e9614d8f17ea70a640【】...
从各大网收集的一些java和android的笔试题,看完了看懂了保证你笔试不怕任何人公司
4.2019Android面试 常见58题 5.初级面试专题(中小厂) 7.设计模式面试专题 8.数据结构面试专题 9.多线程面试专题及答案 10.网络编程面试专题 11.腾讯Android社招面试源码相关11题+原理详解 12.大厂高端技术面试专题...
Android面试题(详细答案).doc Android内测题.doc Java面试题2.doc JAVA面试题80页.doc 智力题.doc JAVA 综合面试题.pdf 分类后的葵花宝典 葵花宝典.doc 九阴真经.doc Java面试题1.doc 葵花宝典-数据库类....
Java和Android常见面试题
在准备 Android 面试时,了解和掌握各种知识...以上是部分 Android 面试题及对应知识点的详细解释,涵盖了 Java 基础、Android 系统特性、编程实践等多个方面。在准备面试时,应全面复习这些知识,并通过实践加深理解。
根据提供的文件内容,以下是详细的知识点总结: 1. 内存回收说明: - 在Android中,程序员不能直接控制内存的释放,内存回收是由垃圾回收器...在实际应用和面试准备中,还需针对完整的问题和知识点进行复习和理解。
阿里巴巴的Android面试题集主要涵盖了计算机基础、数据结构与算法、Java编程、Android技术以及一些扩展领域的知识。以下是对这些知识点的详细解析: **第一章 计算机基础面试题** 这部分通常包括网络、操作系统和...
以下是一些基于Java和Android面试题目的关键知识点,涵盖了基础到进阶的各个层面。 1. **Java基础知识** - **内存管理**:理解Java垃圾回收机制,包括GC的工作原理、引用类型(强引用、软引用、弱引用、虚引用)...
在Android开发领域,Java语言是主要的编程工具,因此对于Java和Android的面试题,开发者需要有深入的理解和掌握。以下是一些可能出现在面试中的关键知识点: 1. **Java基础知识**: - **数据类型与变量**:了解...
### Java和Android面试题知识点详解 #### 一、面向对象编程四大特性 1. **抽象** - **定义**:抽象是指在程序设计过程中,忽略一个主题中与当前目标无关的那些方面,以便更充分地关注与当前目标相关的方面。抽象...
以上就是“android面试题整理”中可能涵盖的主要知识点,每个话题都值得深入探讨和实践,以确保在面试中能够全面展示自己的专业能力。通过持续学习和项目实践,开发者可以不断提高自己的技术水平,为面试做好充分...
《Android面试题大全(中高级)》涵盖了一系列深度的技术问题,这些问题旨在考察面试者在Android开发、网络通信、数据结构与算法、Java编程等关键领域的专业能力和实践经验。 在第一章网络面试题中,从HTTP协议到...
总的来说,这份“Java和Android基础知识面试宝典”将覆盖这两个领域的核心概念、常用技术和面试技巧,帮助求职者全面准备面试,提升他们的竞争力。通过深入学习和实践这些内容,不仅能在面试中脱颖而出,也能为实际...
Android 高级开发面试题以及答案整理 Android 高级开发面试题以及答案整理是 Android 开发者面试的重要参考资料。该资料涵盖了 Java 基础知识、Android 平台知识、数据存储、网络编程、多媒体处理、Android 架构...