永发信息网

输入任意十个整数存入linkedlist集合用java实现

答案:2  悬赏:40  手机版
解决时间 2021-01-17 15:47
输入任意十个整数存入linkedlist集合用java实现
最佳答案
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class $ {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        List data = new LinkedList();
        for (int i = 0; i < 5; i++) {
            System.out.print("输入第" + (i + 1) + "个数:");
            data.add(in.nextInt());
        }

        System.out.println("输入数据为:" + data);
    }
}
全部回答
ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下:
一、同步性
ArrayList,LinkedList是不同步的,而Vestor是的。所以如果要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费开销。但在多线程的情况下,有时候就不得不使用Vector了。当然,也可以通过一些办法包装ArrayList,LinkedList,使他们也达到同步,但效率可能会有所降低。
二、数据增长
从内部实现机制来讲ArrayList和Vector都是使用Objec的数组形式来存储的。当你向这两种类型中增加元素的时候,如果元素的数目超出了内部数组目前的长度它们都需要扩展内部数组的长度,Vector缺省情况下自动增长原来一倍的数组长度,ArrayList是原来的50%,所以最后你获得的这个集合所占的空间总是比你实际需要的要大。所以如果你要在集合中保存大量的数据那么使用Vector有一些优势,因为你可以通过设置集合的初始化大小来避免不必要的资源开销。
三、检索、插入、删除对象的效率
ArrayList和Vector中,从指定的位置(用index)检索一个对象,或在集合的末尾插入、删除一个对象的时间是一样的,可表示为O(1)。但是,如果在集合的其他位置增加或移除元素那么花费的时间会呈线形增长:O(n-i),其中n代表集合中元素的个数,i代表元素增加或移除元素的索引位置。为什么会这样呢?以为在进行上述操作的时候集合中第i和第i个元素之后的所有元素都要执行(n-i)个对象的位移操作。
LinkedList中,在插入、删除集合中任何位置的元素所花费的时间都是一样的—O(1),但它在索引一个元素的时候比较慢,为O(i),其中i是索引的位置。
所以,如果只是查找特定位置的元素或只在集合的末端增加、移除元素,那么使用Vector或ArrayList都可以。如果是对其它指定位置的插入、删除操作,最好选择LinkedList
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如果a是b的3╱7倍,则a:b=
单螺纹怎样减针好看
隆成新领域周边环境怎么样?生活便利吗?
某同学参加射击选拔赛.在比赛中打了10发子弹
有人知道ATTOS这个品牌的灵感是源于哪里吗?
zts45-10是哪种阀门
我是消防员,火灾时常需破拆卷帘门。我想了解
这是一条从历史深处流淌过的护城河流过宋元流
善良的妈妈作文500字作文 3g.ishuo.cn
怎样委婉的找别人还钱??
我去年借给一位朋友两万元,当时没写借条,但钱
什么是独立悬挂?
我想在兖州开家韩国化妆品店,不知道怎么样,地
植物离开土壤能成活吗
长城宽带15M40元,怎样?
推荐资讯
Spain and Greece are now more popular than
普拉达多维修点在哪里有?
300天纪念日对男友如何表白
重苯是不是重芳烃
弟弟结婚。老公不想去
一升柴油5.78等于多少钱一斤
不锈钢管50x50x1.2多少根
螺纹钢筋一捆重量,一捆钢筋有多少根,北京钢
结合安保工作,写鸡毛飞上天的观后感
谁能告诉下K1106次列车从上海哪个站上车 急,
遇到职场小人的嫉妒,与孤立,还有陷害与狂黑
syntheyes64晃动比较大的物体怎么跟踪
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?