类集框架:
- 类集框架是一组类和接口;(通常提到框架的时候基本都是一组类和接口的组合)
- 位于java.util包中;
- 位于java.util包中;
- 主要用于用存储和管理对象;
- 类集框架一共分为三大类(也就是存储数据的方式):集合(Set),列表(List),映射(Map);
集合(Set):集合中的对象不能按照特定的方式排序,并且没有重复对象。
列表(List):集合中对象按照索引位置排序,可以有重复对象。
映射(Map):集合中的每一个元素都包含一个键对象和一个值对象,键不可重复,但是值可以重复,键和值一一对应。
举个以后经常用到的例子:List接口和ArrayList类,ArrayList类是List接口的实现类。
import java.util.List;
import java.util.ArrayList;
class Text{
public static void main(String[] args){
ArrayList<String> arrayList = new ArrayList<String>();/*生成ArrayList对象。把ArrayList想象成一个容器然后<>尖括号里面就是你要在这个ArrayList容器中所要存储的类型。*/
arrayList.add("a");//add方法表示向ArrayList中添加元素。
arrayList.add("b");
arrayList.add("c");
arrayList.add("d");
int number = arrayList.size();//返回ArrayList元素的数目。
System.out.println(number);//获取第0个位置的元素。
String s = arrayList.get(0);
System.out.println(number);
for(int i = 0; i < number; i++){//通过循环将ArrayList的所有元素取出。
String all = arrayList.get(i);
System.out.println(all);
}
}
}
运行结果:
4
a
a
b
c
d
Collection接口和Iterator接口
Collection 接口的几种常用方法:
boolean add(Object o):向集合中加入一个对象
void clear():删除集合中的所有对象
boolean isEmpty():判断集合是否为空集
remove(Object o):从集合中删除一个对象的引用
int size():返回集合中元素的数目
集合(Set)接口和列表(List)接口是Collection接口的子接口,所以Collection接口中的方法,Set 接口和List 接口中也同样拥有。
举个以后经常用到的例子:Set接口和HashSet类,HashSet类是Set接口的实现类。
1.import java.util.Set;
2.import java.util.HashSet;
3.class Text{
4. public static void main(String[] args){
5. HashSet<String> hashSet = new HashSet<String>();
6. Set<String> set = hashSet;//向上转型
7. set.add("a");
8. set.add("b");
9. set.add("c");
10. set.add("d");
11.
12. int i = set.size();//得到这个集合中总共有多少个元素
13. System.out.println(i);
14.
15. set.add("c");
16. int j = set.size();
17. System.out.println(j);
18.
19. set.clear();//删除集合中所有的元素
20. int k = set.size();
21. System.out.println(k);
22. }
23.}
运行结果:
4
4
0
这段代码第13行打印的是集合中元素的个数是4个,这个是没错的。我再15行有添加了一个元素,而17行输出结果还是4个元素,这是为什么?原因是,集合中不允许存在重复的对象。19行的意思是删除集合中的所有元素,所以第21行的打印就为0。
Iterator接口的几种常用方法:
hasNext():判断当前迭代器中还有没有下一个对象。
next():返回迭代器中下一个对象。
举个例子:因为集合Set是无序的,如果我们想要取出Set中的元素就要用到迭代器。
1 import java.util.Set;
2 import java.util.HashSet;
3 import java.util.Iterator;
4 class Text{
5 public static void main(String[] args){
6 HashSet<String> hashSet = new HashSet<String>();
7 Set<String> set = hashSet;//向上转型
8 set.add("b");
9 set.add("a");
10 set.add("c");
11 set.add("d");
12 set.add("e");
13 //调用Set对象的Iterator方法,会生成一个迭代器对象,该对象用于遍历整个Set
14 Iterator<String> it = set.iterator();
15 boolean b = it.hasNext();//判断当前迭代器中还有没有下一个对象,如果有返回true,否则返回false
16 while(it.hasNext()){
17 String s = it.next();
18 System.out.println(s);
19 }
20 }
21 }
运行结果:
b
c
a
e
d
注:参考继承关系
Iterator <- Collection <- Set <-hashSet等
Iterator <- Collection <- List <-ArrayList等
Map和HashMap
直接上代码:
1 import java.util.Map;
2 import java.util.HashMap;
3
4 class Text{
5 public static void main(String[] args){
6 HashMap<String,String> hashMap = new HashMap<String,String>();
7 Map<String,String> map = hashMap;
8 map.put("a", "1");//向该映射中添加键值对
9 map.put("b", "2");
10 map.put("c", "3");
11
12 System.out.println(map.size());
13
14 String s = map.get("b");//获取键名为b的键值
15 System.out.println(s);
16 }
17 }
运行结果:
3
2
这遍知识点写的比较乱,目前只是记录一下,要经常翻阅温习。