欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

集合框架

程序员文章站 2022-04-07 12:05:11
...
(一)List
1.ArrayList:
ArrayList<String> list = new ArrayList<String>();

ArrayList list = new ArrayList(); java的集合可以为非泛型集合,将集合类型去掉,存储任意类型

增:list.add("哈巴狗"); 改:list.set(0, "波斯猫");
删:list.remove(0);

if (list.contains("Dog")) {
System.out.println("集合中包含Dog");
}else {
System.out.println("集合中不包含Dog");
}
判断集合中是否包含指定的数据

比较:
ArrayList:增删改慢,查快 LinkedList:增删改快且操作方便,查询麻烦

2.LinkedList:链表
LinkedList<String> lin = new LinkedList<String>();

增:lin.add(""); 删:lin.remove();
改:lin.set(0, "123"); 查:lin.get(0);/lin.contains(0);

LinkedList:能 首增,中增,尾增,强行往集合中进行插队,后面的往后推一个位置

HashSet:

增:覆盖同样的值 删:hs.remove(3);

改:-》没有直接改的,只能删除再去新增-》hs.remove(2); hs.add(10);

查:查全部-》foreach 查单个-》foreach里面加if判断

集合吞并集合-》collection体系下都的集合可以相互吞并-》》hs.addAll(hs1);

获取集合中的元素长度:hs.size()
(二)Map

1.HashMap:

创建集合:HashMap<Integer,String> hs = new HashMap<Integer, String>();

或者-》》Map m = new HashMap();

map的键不能重复,值可以重复

增:hs.put(1,"张三"); 删:hs.remove(0);

查:单个-》hs.get(1); 全部-》System.out.println(hs);

遍历所有值:for (String string : hs.values()) {
System.out.println(string);
}
遍历所有键:for (Integer integer : hs.keySet()) {
System.out.println(integer);
System.out.println(hs.get(integer));-》》依据键来查找值
}
迭代器:它是根据集合内部生成的

Iterator<Integer> it = hs.keySet().iterator();

判断是否还有未读元素:it.hasNext()-》true/false