java的list集合详解

问题描述:java中List的用法?尽量详细解释,包括例子。 大家好,给大家分享一下java中list集合常用方法表,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

JAVA中几种集合(List、Set和Map)的区别

java的list集合详解的相关图片

List 集合中的对象按照一定的顺序排放,里面的内容可以重复。

List接口实现的类:ArrayList(实现动态数组), Vector(实现动态数组) ,LinkedList(实现链表), Stack(实现堆栈)

一 list接口

1.java.util.ArrayList类实现一个可增长的动态数组,平时用的比较多的就是add()方法,其它方法。

请参考API帮助文档。使用该方法向集合内添加对象,并且这些对象是按照一定的顺序排列。

的,它内部原理是数组实现的,因此处理数据量较大时,不建议使用。

public class TestArrayList {。

public static void main(String[] args) {。

//声明List 并实例化为ArrayList。

List al = new ArrayList();。

//使用add()方法添加元素。

al.add("a");

al.add("b");

al.add("c");

al.add("d");

//使用Iterator迭代器遍历出集合的元素并打印。

for(Iterator i = al.iterator();i.hasNext(); ){。

String str = (String) i.next();。

System.out.println(str);。

}

}

3.java.util.Vector(向量)类 与ArrayList类似的也是实现一个动态的数组,该向量可以随意的增长以存放更多的对象。

public class TestArrayList {。

public static void main(String[] args) {。

//声明List 并实例化为Vector。

List al = new Vector();。

//使用add()方法添加对象。

al.add("a");

al.add("b");

al.add("c");

al.add("d");

//使用Iterator迭代器遍历出集合的对象并打印。

for(Iterator i = al.iterator();i.hasNext(); ){。

String str = (String) i.next();。

System.out.println(str);。

}

}

3.java.util.LinkedList类实现了链表,可初始化化为空或者已存在的集合,通常使用以下方法。

add();向链表末尾添加对象。

addFirst()在链表开头添加对象。

addLast()在链表末尾添加对象。

getFirst()得到链表开头的对象。

getLast()得到链表末尾的对象。

注意该类提供了随机访问列表中的元素的方法,但是底层依然必须遍历去查找随机访问的对象,因此性能依然有限.。

public static void main(String[] args) {。

//声明LinkedList并实例化。

LinkedList al = new LinkedList();。

//使用add()方法添加元素。

al.add("a");

al.add("b");

al.add("c");

al.add("d");

//使用Iterator迭代器遍历出集合的元素并打印。

for(Iterator i = al.iterator();i.hasNext(); ){。

String str = (String) i.next();。

System.out.println(str);。

}

System.out.println("_____");。

//向链表头和尾分别添加x和z。

al.addFirst("z");。

al.addLast("x");。

//遍历查看添加后的结果

for(Iterator i = al.iterator();i.hasNext(); ){。

String str = (String) i.next();。

System.out.println(str);。

}

}

4.java.util.Stack类实现了堆栈数据结构,即按照先进后出的原则存放数据。创建时只能为空。

使用push()方法进行添加对象。

public static void main(String[] args) {。

//声明Stack并实例化

Stack al = new Stack();。

//使用push()方法添加元素。

al.push("a");。

al.push("b");。

al.push("c");。

al.push("d");。

al.push("f");。

//使用Iterator迭代器遍历出集合的元素并打印。

for(Iterator i = al.iterator();i.hasNext(); ){。

String str = (String) i.next();。

System.out.println(str);。

}

}

JAVA里面set,map,list的区别是什么?(尽量详细)的相关图片

JAVA里面set,map,list的区别是什么?(尽量详细)

Java中的集合包括三大类,它们是Set、List和Map。它们都处于java.util包中,Set、List和Map都是接口。

Set中的对象不按特定方式排序,并且没有重复对象。但它的有些实现类能对集合中的对象按特定方式排序,例如TreeSet类,它可以按照默认排序,也可以通过实现java.util.Comparator接口来自定义排序方式。

List中的对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,如通过list.get(i)方式来获得List集合中的元素。

Map中的每一个元素包含一个键对象和值对象,它们成对出现。键对象不能重复,值对象可以重复。

Map的功能方法 :

方法put(Object key, Object value)添加一个“值”(想要得东西)和与“值”相关联的“键”(key)(使用它来查找)。方法get(Object key)返回与给定“键”相关联的“值”。可以用containsKey()和containsValue()测试Map中是否包含某个“键”或“值”。

标准的Java类库中包含了几种不同的Map:HashMap, TreeMap, LinkedHashMap, WeakHashMap, IdentityHashMap。它们都有同样的基本接口Map,但是行为、效率、排序策略、保存对象的生命周期和判定“键”等价的策略等各不相同。

执行效率是Map的一个大问题。看看get()要做哪些事,就会明白为什么在ArrayList中搜索“键”是相当慢的。而这正是HashMap提高速度的地方。HashMap使用了特殊的值,称为“散列码”(hash code),来取代对键的缓慢搜索。

“散列码”是“相对唯一”用以代表对象的int值,它是通过将该对象的某些信息进行转换而生成的。所有Java对象都能产生散列码,因为hashCode()是定义在基类Object中的方法。

jAVA List遍历集合的含义,请大家为我详解一下。谢谢!的相关图片

jAVA List遍历集合的含义,请大家为我详解一下。谢谢!

java集合的主要分为三种类型:

Set(集)

List(列表)

Map(映射)

要深入理解集合首先要了解下我们熟悉的数组:

数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。

简单说下集合和数组的区别:(参考文章:《Thinking In Algorithm》03.数据结构之数组)。

Java所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。

1、

效率高,但容量固定且无法动态改变。

array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量。

2、Java中有一个Arrays类,专门用来操作array。

arrays中拥有一组static函数,

equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。

fill():将值填入array中。

sort():用来对array进行排序。

binarySearch():在排好序的array中寻找元素。

System.arraycopy():array的复制。

若撰写程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。所以就要用到集合。

那我们开始讨论java中的集合。

集合分类:

Collection:List、Set。

Map:HashMap、HashTable。

Java List 用法的相关图片

Java List 用法

List<student> list = ArrayList<student>();

这句只是声明一个学生列表,<>中的只是表示这个list中的元素类型。

for(student stus : list){}。

这句是个foreach语法,类似与for(int i=0;i<list.size();i++){ Student stus = list.get(i); ...}。

只不过java做了简化,使用了迭代器,将list中的元素逐个遍历,并且用Student stus对象来接收list的迭代对象。

JAVA中的List的使用

1、List中可以添加任何对象,包括自己定义的新的类。

2、List是一个接口,不能实例化,需要实例化一个ArrayList或者LinkedList。

List myList = new ArrayList();。

3、使用myList.add(任何对象);就可以进行添加了。

4、取值的时候myList.get(索引);取出来的值都是Object,使用时需要类型转换。

原文地址:http://www.qianchusai.com/java%E7%9A%84list%E9%9B%86%E5%90%88%E8%AF%A6%E8%A7%A3.html

语文宣传格式,语文宣传格式怎么写

语文宣传格式,语文宣传格式怎么写

kodi无法更新资料库,kodi 更新资料库 无法连接服务器

kodi无法更新资料库,kodi 更新资料库 无法连接服务器

六年级上册期末抽测卷,六年级上册期末抽测卷语文2020-2021北京

六年级上册期末抽测卷,六年级上册期末抽测卷语文2020-2021北京

写一个地方的美景200字作文,写一个地方的美景200字作文三年级

写一个地方的美景200字作文,写一个地方的美景200字作文三年级

dinersource发音,diner怎么读音发音

dinersource发音,diner怎么读音发音

小米云台nas网络存储,小米云台nas网络存储空间不足

小米云台nas网络存储,小米云台nas网络存储空间不足

美丽的什么450字作文,美丽的什么作文不少于450字

美丽的什么450字作文,美丽的什么作文不少于450字

cc/动漫动图,cc动漫壁纸

cc/动漫动图,cc动漫壁纸

v2ray节点怎么添加,小火箭v2ray节点怎么添加

v2ray节点怎么添加,小火箭v2ray节点怎么添加

推特博主开车推荐女的,推特博主开车推荐女的是谁

推特博主开车推荐女的,推特博主开车推荐女的是谁