您的位置:首页 > 编程语言 > Java开发

类集框架初识

2017-06-30 00:12 316 查看

类集框架:

类集框架是一组类和接口;(通常提到框架的时候基本都是一组类和接口的组合)

位于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


这遍知识点写的比较乱,目前只是记录一下,要经常翻阅温习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java