List接口的实现类与ArrayList相似,区别是Vector是重量级的组件,使用使消耗的资源比较多

List接口的实现类(Vector)(与ArrayList相似,区别是Vector是重量级的组件,使用使消耗的资源比较多。)

结论:在考虑并发的情况下用Vector(保证线程的安全)。

在不考虑并发的情况下用ArrayList(不能保证线程的安全)。

面试经验(知识点):

java.util.stack(stack即为堆栈)的父类为Vector。可是stack的父类是最不应该为Vector的。因为Vector的底层是数组,且Vector有get方法(意味着它可能访问到并不属于最后一个位置元素的其他元素,很不安全)。

对于堆栈和队列只能用push类和get类。

Stack类以后不要轻易使用。

实现堆栈一定要用LinkedList。

 1 package TomTexts;
 2
 3 public class TomTexts_12 {
 4     public static void main(String[] args)
 5     {
 6         if (args.length<1)
 7         {    System.out.println("至少需要有一个参数!");
 8             System. exit(0);    //终止程序运行
 9         }
10         int i=0,sum=0;
11         int n=args.length;
12         int arr[]=new int[n];
13         for(i=0;i<n;i++)
14         {    System.out.println("参数args["+i+"]是:"+args[i]);
15             arr[i]=Integer.parseInt(args[i]);    //将字符串转换成int型
16             sum+=arr[i];
17         }
18         System.out.println("参数个数:"+arr.length);
19         System.out.println("参数的和:"+sum);
20     }
21
22 }

原文地址:https://www.cnblogs.com/borter/p/9420351.html

时间: 2024-10-12 16:47:36

List接口的实现类与ArrayList相似,区别是Vector是重量级的组件,使用使消耗的资源比较多的相关文章

java的List接口的实现类 ArrayList,LinkedList,Vector 的区别

Java的List接口有3个实现类,分别是ArrayList.LinkedList.Vector,他们用于存放多个元素,维护元素的次序,而且允许元素重复. 3个具体实现类的区别如下: 1. ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问.数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中.当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制.移动.代价比较高.因此,它

JavaSE入门学习35:Java集合框架之List接口及其实现类ArrayList和LinkedList

一List接口概述 List接口是Collection接口的子接口,实现List接口的集合类中的元素是有顺序的,而且可以重复,被称为序列. List集合中的元素都对应一个整数型的序列容器中的序号记载其在容器中的位置,可以根据序号存取容器中的元 素.List接口可以精确的控制每个元素的插入位置,或者删除某个位置元素. Java所提供的List集合实现类类有ArrayList实现类.LinkedList实现类.Vector等,我们主要使用的是ArrayList实 现类和LinkedList实现类.

List接口实现类-ArrayList、Vector、LinkedList集合深入学习以及源码解析

学习List接口实现类 ArrayList  Vector  LinkedList List接口的实现类中最常用最重要的就是这三个:ArrayList.Vector.LinkedList. JDK中这三个类的定义: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { <span st

利用Java提供的Observer接口和Observable类实现观察者模式

对于观察者模式,其实Java已经为我们提供了已有的接口和类.对于订阅者(Subscribe,观察者)Java为我们提供了一个接口,JDK源码如下: 1 package java.util; 2 3 public interface Observer { 4 void update(Observable o, Object arg); 5 } 和我们上一篇实现的观察者一样,仅提供一个update方法用于接收通知者的通知做出相应改变. 我们再来看看Java为我们提供了一个怎样的通知者(Publish

day07(Set接口,HashSet类,hashcoad(),Collections工具类,Map集合)

Set接口 set接口的实现类特点 1.无序(取出来的顺序和存进去的数据的顺序不一致) 2.唯一(数据不能存相同的) 底层是用Map集合写的 HashSet类  实现了  set接口       唯一性  public class HashSetTest { public static void main(String[] args) { HashSet<String> hs=new HashSet<String>(); hs.add("hello"); hs.

List 接口以及实现类和相关类源码分析

List 接口以及实现类和相关类源码分析 List接口分析 接口描述 用户可以对列表进行随机的读取(get),插入(add),删除(remove),修改(set),也可批量增加(addAll),删除(removeAll,retainAll),获取(subList). 还有一些判定操作:包含(contains[All]),相等(equals),索引(indexOf,lastIndexOf),大小(size). 还有获取元素类型数组的操作:toArray() 注意事项 两种迭代器Iterator和L

Android通过Intent传输包含自定义类的ArrayList

前言 之前项目中通过Intent只是传输简单的字符串,这次因为需要在前一个页面联网获取对象数据,然后在下一个页面使用,所以考虑到使用Intent传输包含自定义类的ArrayList. Serializable Java的对象序列化指的是将那些实现了Serializable接口的对象转换成一个字节序列,并且能在需要的时候再将这个字节序列完全恢复为之前的对象. 想实现对象的序列化,需要实现java.io.Serializable接口(注意,这个接口只是一个标记接口,并没有具体需要override的方

集合中list、ArrayList、LinkedList、Vector的区别、Collection接口的共性方法以及数据结构的总结

List (链表|线性表) 特点: 接口,可存放重复元素,元素存取是有序的,允许在指定位置插入元素,并通过索引来访问元素 1.创建一个用指定可视行数初始化的新滚动列表.默认情况下,不允许进行多项选择. 注意,这是 List(rows, false) 的一种便捷方法.还要注意,列表中的可视行数一旦创建就不能更改. public List(int rows)------------------row-----要显示的项数 2.创建一个初始化为显示指定行数的新滚动列表. 注意,如果指定了零行,则会按默

父类的引用指向子类的对象或者接口指向实现类均是可以的

父类的引用指向子类的对象或者接口指向实现类均是可以的. 例如(下图为父类的引用指向子类的对象) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class Father {         public void pri() {             System.out.println("father");         } } public class Sun   extends  Father{       public void