List与Set集合的区别

集合的框架:
在解释List和Set集合的区别之前我们首先来了解一下集合的框架:
在这里插入图片描述
由图可知List和Set集合都是跟接口的实现类

List

List集合代表一个元素有序可重复的集合,每个元素都有其对应的顺序索引,可以使用集合的所有方法,但是相对于Collection他增添了一些可以操控集合的方法,它的基本实现类有ArrayList以及LinkedList;
常见操作如下
package List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test1 {
public static void main(String[] args) {
List list=new ArrayList();
Person a=new Person(“ww”,22);
list.add(new Person(“张三”,21));
list.add(new Person(“李四”,23));
list.add(new Person(“王五”,24));
list.add(a);
//遍历
Iterator it=list.iterator();
// list.add(new Person(“赵六”,24));ArrayList使用迭代器后将不能操控集合中的yuansu
while(it.hasNext()) {
Person p=it.next();
System.out.println(p.toString());
}
//删除
list.remove(a);
System.out.println("---------------------");
//get()方法 返回此列表中指定位置上的元素。
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
// set(int index, E element)
// 用指定的元素替代此列表中指定位置上的元素。
for(int i=0;i<list.size();i++) {
if(i==2) {
list.set(i,new Person(“赵六”,23));
}
}
System.out.println("---------------------");
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
}

其中比较重要的方法就是曾删改除:add() remove() set(index,E), clear();
如果是ArrayList它的基底是一个数组,LinkedList是一个链表
(请见两者区别)

Set

Set集合是一个无序集合,也是Collection的子接口,它是去除重复操作的,它的无序指的是添加顺序与输出顺序不一致;它的基本实现类有HashSet和TreeSet。基本操作和方法和List差不多;CRUD;
操作:

public class SetTest {
public static void main(String[] args) {
Set set = new HashSet<>();
set.add(“apple”);
set.add(“banana”);
set.add(“shit”);
for (String string : set) {
System.out.println(string);
}
Iterator it = set.iterator();
while (it.hasNext()) {
System.out.println(it.next());
//输出结果为banana apple shit 放入元素是根据元素的hashcode来排列的
}

区别

1.在List中的元素存放是有序的,而Set是无序的(这里的无序有序都是指的输出顺序与添加顺序是否一致)
2.List可重复,Set不可重复;
3.List是可以利用下标来操作的,而Set是不可以的,只能用迭代来操作;

/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值