首先讲解一下ArratList,开始学习之前,如果大家对于Array数组有很好的理解相信再去理解ArrayList就容易多了。首先arraylist跟linkedlist一样都是List的实现类,arraylist的本质其实就是数组,一般使用之前先这样生成ArrayList list = new ArratList();然后可以使用add方法向里面添加元素,例如list.add(“abc”);需要注意的是“abc”并不是源生数据类型,而是一个String类型,string是引用数据类型,或者说是一个类。由此就看出一点ArraList中存放的都是一个个的对象(其实对象不是原生数据类型也无法真正的存在数组中而是把对象的引用放进ArrayList,这一点跟一个对象类型的数组是一个道理的);所以当使用add往里面添加元素的时候一定不要出现这样的情况list.add(123);而必须把123经过一定的转换,list.add(new
Integer(123)),这样才能存进去;相对应的有一个get方法,list.get(0);这样就得到了之前存进去的"abc"字符串了,把它真正的去处理来还得经过一个转换,String a= (String)list.get(0).而要是想取出存进去的123,则必要定义一个对象Object obj = list.get(1);总的来说ArrayList无论是存进去还是取出来都应该是object 类型的
下面是一个最近单的实例:
public class ArrayListTest
{
@SuppressWarnings("unchecked")
public static void main(String[] args)
{
ArrayList list = new ArrayList();
list.add("zhangran");
list.add(new Integer(12345));
list.add(new Persion("ligang"));
System.out.println(list);
System.out.println("-------------");
String s = (String)list.get(0);
Integer integer=(Integer)list.get(1);
int i = integer.intValue();
Persion persion = (Persion)list.get(2);
System.out.println(s);
System.out.println(i);
System.out.println(persion);
}
}
class Persion
{
String name;
public Persion(String name)
{
this.name=name;
}
public String toString()
{
return name;
}
}
相信大家都能看得明白吧。。。
写下来就是LinkedList,其实它与ArrayList表面上都是一样的,但是内部的存储结构却完全不一样,简言之,虽然ArrayList和LinkedList都是存的Object类型,但是在类的底层,ArrayList使用数组来存储的,而Linkedlist 使用双向链表来实现的,所以当我们常用与数据的查找的时候ArrayList效率会更高一些,但是当要涉及到增加或者删除的时候就可以使用LinkedList.至于LinkedList中的方法add
,get 跟ArrayList表面上没有任何差异,所以不再赘述。。。。
分享到:
相关推荐
1.List是接口类,ArrayList和LinkedList是List的实现类 2.ArrayList是动态数组(顺序表)的数据结构 3.LinkedList
测试ArrayList和LinkedList的add方法
关于arraylist和linkedList的区别
【Java面试题】ArrayList和LinkedList区别
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要...
ArrayList、LinkedList、Vector区别简介。
2.在ArrayList的中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动 3.LinkedList不支持高效的随机元素访问 4.ArrayList的
05丨ArrayList还是LinkedList?使用不当性能差千倍.html
10.ArrayList 和LinkedList的区别.avi
ArrayList 和LinkedList各自的特点是什么,自己实用中的总结
ArrayList Vector LinkedList 区别与用法.
今天小编就为大家分享一篇对ArrayList和LinkedList底层实现原理详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
比较ArrayList,LinkedList,Vector三者随机读取,插入,删除性能。
合理运用ArrayList与LinkedList
arraylist 和linked list的时间复杂度
1,ArrayList是数组的数据结构,LinkedList是链表的数据结构。 2,随机访问的时候,ArrayList的效率比较高,因为LinkedList要移动指针,而ArrayList是基于 3,索引(index)的数据结构,可以直接映射到。 4,插入、...
主要给大家介绍了ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和...相信对大家的理解和学习具有一定的参考价值,有需要的朋友们下面跟着小编一起来学习学习吧。
今天介绍一下Java的两个集合类,ArrayList和LinkedList,这两个集合的知识点几乎可以说面试必问的。感兴趣的朋友跟随小编一起看看吧
对比Vector、ArrayList、LinkedList1
ArrayList-LinkedList-源码.rar