Java集合简介

Java的java.util包主要提供了以下三种类型的集合:

  • List:一种有序列表的集合,例如,按索引排列的Student的List;
  • Set:一种保证没有重复元素的集合,例如,所有无重复名称的Student的Set;
  • Map:一种通过键值(key-value)查找的映射表集合,例如,根据Student的name查找对应Student的Map。
1、List

List是最基础的一种集合:它是一种有序列表。它主要提供以下几个方法:

  • 在末尾添加一个元素:boolean add(E e)
  • 在指定索引添加一个元素:boolean add(int index, E e)
  • 删除指定索引的元素:E remove(int index)
  • 删除某个元素:boolean remove(Object e)
  • 获取指定索引的元素:E get(int index)
  • 获取链表大小(包含元素的个数):int size()

通常使用ArrayList实现,LinkedList通过“链表”也实现了List接口

对比如下

ArrayListLinkedList
获取指定元素速度很快需要从头开始查找元素
添加元素到末尾速度很快速度很快
在指定位置添加/删除需要移动元素不需要移动元素
内存占用较大

除了使用ArrayList和LinkedList,我们还可以通过List接口提供的of()方法,根据给定元素快速创建不可变List:

List<Integer> list = List.of(1, 2, 5);

List的遍历

List<String> list = List.of("apple", "pear", "banana");
for (int i=0; i<list.size(); i++) {
    String s = list.get(i);
	System.out.println(s);
}
for (Iterator<String> it = list.iterator(); it.hasNext(); ) {
	String s = it.next();
	System.out.println(s);
}
for (String s : list) {
	System.out.println(s);
}
2、Set

Set用于存储不重复的元素集合,它主要提供以下几个方法:

  • 将元素添加进Set:boolean add(E e)
  • 将元素从Set删除:boolean remove(Object e)
  • 判断是否包含元素:boolean contains(Object e)

最常用的Set实现类是HashSet

3、Map

Map<K, V>是一种键-值映射表,它主要提供以下几个方法:

  • put(K key, V value):把key和value做映射并放入Map
  • V get(K key):通过key获取到对应的value。如果key不存在,则返回null。
  • boolean containsKey(K key):查询key是否存在

Map的遍历

//遍历key值
for (String key : map.keySet()) {
	Integer value = map.get(key);
	System.out.println(key + " = " + value);
}
//同时遍历key,value
for (Map.Entry<String, Integer> entry : map.entrySet()) {
	String key = entry.getKey();
	Integer value = entry.getValue();
	System.out.println(key + " = " + value);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值