广州网站建设电话/谷歌浏览器网址
集合与collection接口
collection接口:继承来自Iterable接口。所有集合类型均支持foreach循环语句和方法
集合常用方法
- < E >泛型:集合并不关心元素的具体类型,因此设计使用泛型
- 创建集合时,必须将泛型具体化为一个引用类型。有助于减少错误
List集合接口
基本特点
- List集合,有序的,允许重复元素的集合。除了从collection继承的方法外。还提供一些基于位置索引的方法
常用实现类
1.java.util.ArrayList< E > 对象数组
2.java.util.LinkedList< E > 双向链表
集合和数组的转换
Map接口
java.util.Map(K,V)
严格来说map不是一个集合。但是他是一个容器
- key必须是唯一的,一个key只能对应一个value
- 添加key-value,如果key存在,后一个覆盖前一个
- 通过key对应的hash值,判断key是否相同(比单纯判断hash更复杂)
- 基本实现类
1.java.util.HashMap<K,V>,查询效率与内存占用最平衡,但是线程不安全
2.java.util.TreeMap<K,V>,线程安全,但是现在已经没有使用的必要了 - 常用方法
import java.util.HashMap;
import java.util.Map;public class Main{public static void main(String[] args) {Map<String,String> map=new HashMap<>();map.put("BO","956");map.put("SUN","925");System.out.println(map.size());System.out.println(map.get("BO"));System.out.println(map.get("SUN"));}}
Set集合接口
- set集合不包含重复元素
- 只包含继承来自collection方法
- 基本实现类
1.HashSet < E >,元素无序
2.LinkedHashSet< E >,元素有序
3.TreeSet< E >,元素有序 - 没有基于索引的方法
- 适合了逻辑上无能重复的元素集合
Iterable接口
迭代器,允许遍历集合,并根据需求选择的从集合中移除元素
hasnext():判断是否下一个元素存在
next(): 向后移动一个游标,并且返回游标指向的元素
remove():删除迭代器当前指向的游标对象
import java.util.*;
public class Main{public static void main(String[] args) {List<Integer> list=new ArrayList<>();for (int i = 0; i < 10; i++) {list.add(i);}Iterator<Integer> it=list.iterator();while(it.hasNext()){int i=it.next();if(i%2==0){it.remove();}}System.out.println("************");for (Integer i: list){System.out.print(i+" ");}}
}