java中的集合类包括Arraylist,link,集合实现类ArrayList和LinkedList的区别
Java中常见的ArrayList、LinkedList、HashMap容器及其区别详解_wx630f055ce23fc _博客的技术博客
前言Java中的容器对象主要是用来存储其他对象的。根据不同的实现原理,常用的容器对象有三种类型:
1.ArrayList使用数组结构在容器中存储元素。
2.LinkedList使用链表结构在容器中存储元素。
3.HashMap使用哈希原理,同时使用数组和链表结构。首先,ArrayList1。原则
2.用法打开Idea新项目,右键单击src新包com.my.Container,然后创建Container.class输入以下代码
包com . my . container;
导入Java . util . ArrayList;
导入Java . util . random;
公共类容器{
公共静态void main(String[] args) {
ArrayList字符串名称=new ArrayList();//创建一个ArrayList对象,并指定该对象存储String对象元素。
Names.add(我是第一);
Names.add(我是二号);//向容器中添加两个元素
System.out.println(名称);//查看容器有多少个元素
names . remove(0);//删除下标位置为0的元素
System.out.println(名称);//查看容器有多少个元素
Names.set(0,我是第三);//修改位置为0的元素,改为明天。
System.out.println(名称);//查看容器有多少个元素
names . clear();//清空容器的所有元素
//循环添加10个元素
Random Random=new Random();
for(int I=0;i 10i ){
Names.add(我是第一个 random.nextInt(50)名字);
}
for(int I=0;I names . size();I ){ //遍历容器中的元素,一次访问所有元素。
System.out.println (the (i 1)元素为: names . get(I));//get方法根据下标获取元素。
}
}
}运行代码实现容器数组列表的添加、删除、更改操作。
二。LinkedList1。原则
2.用法创建新的linkedlist.class输入以下代码
包com . my . container;
导入Java . util . ArrayList;
导入Java . util . linked list;
导入Java . util . random;
公共类链接列表{
公共静态void main(String[] args) {
linked list String linked names=new linked list();//创建一个LinkedList对象linkedNames,该对象使用链表结构存储元素数据。
LinkedNames.add(我是1 );
LinkedNames.add(我是2 );
LinkedNames.add(我是3 );//添加3个元素
linked names . remove(1);//删除下标为1的元素
LinkedNames.set(1,我是4 );//修改下标为1的元素
system . out . println(linked names);
//linked names . clear();//清空容器的所有元素
Random Random 2=new Random();//循环添加10个元素
for(int I=0;i 10i ){
LinkedNames.add(我是 random 2 . nextint(100));
}
for(int I=0;我链接了names . size();I ){ //遍历容器中的元素,一次访问所有元素。
System.out.println (the (i 1)元素为: linked names . get(I));//get方法根据下标获取元素
}
}
}运行代码实现容器ArrayList的增删改操作(和ArrayList差不多)。
三。HashMap1。原则
2.用法创建一个新的hashmap.class并输入以下代码
包com . my . container;
导入Java . util . ArrayList;
导入Java . util . hashmap;
导入Java . util . linked list;
导入Java . util . random;
公共类散列表{
公共静态void main(String[] args) {
HashMap String,String map names=new HashMap();//创建HashMap对象mapNames,使用链表结构存储元素数据。
MapNames.put(NO1 ,我是第一);
MapNames.put(NO2 ,我是2号);
map names . put( 3号,我是3号);//添加3个元素
map names . remove( NO2 );//删除第二个元素
MapNames.put(NO4 ,我是no . 5 );//修改第二个元素
system . out . println(map names);//打印mapNames中的所有元素
map names . clear();//空的mapNames元素
Random Random 3=new Random();//循环添加10个元素
for(int I=0;i 10i ){
MapNames.put(NO i, Chang e random 3 . nextint(100)" NO . );
}
int I=0;//遍历容器中的元素,访问所有元素一次。
for(string key:map names . keyset()){//先获取键的集合,然后遍历每个键,
我;//定义I来计数
System.out.println (the (i 1)元素为: map names . get(key));//get方法根据键获取元素
}
}
}运行上面的代码,体验添加、删除、检查HashMap的操作。
运行结果如下:
四。对比这里我们主要掌握ArrayList和LinkedList的优缺点,也就是它们的区别。
1.1的底部。ArrayList是数组结构,LinkList的底部是链表结构。
2.LinkedList使用链表存储元素,插入和删除效率高,但随机读取效率低。
3.ArrayList使用数组存储元素,插入和删除效率较低,但随机读取效率较高。
可以说,当操作是在一列数据之后而不是之前或中间添加数据,并且需要随机访问其中的元素时,使用ArrayList会提供更好的性能;当您的操作是在数据列的前面或中间添加或删除数据,并按顺序访问其中的元素时,您应该使用LinkedList。ArrayList和LinkedList在性能上各有优劣,都有各自适用的地方。下表总结了一些性能比较。
版权归作者所有:原创作品来自博主小二上九8,转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。