类集框架初识
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
这遍知识点写的比较乱,目前只是记录一下,要经常翻阅温习。
相关文章推荐
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest
- java的类集框架
- 初识分布式服务管理框架-Dubbo
- 【搜索那些事】细谈lucene(一)初识全文资源检索框架lucene
- 初识Struts(九)-------动态验证框架validator
- java4Android(21)类集框架->Collection and Iterator(hasNext方法和next方法)
- 初识Spring Boot框架
- java类集框架
- 初识OKhttp框架(下)线程通讯
- 类集框架(三)
- 初识分布式服务管理框架-Dubbo
- Android Multimedia框架总结(十三)CodeC部分之OpenMAX框架初识及接口与适配层实现
- ASP.NET学习篇之——初识框架
- SpringMVC 框架系列之初识与入门实例
- 类集框架(二)
- Java4Android(第41~43集)类集框架
- 浅谈java类集框架和数据结构(2)
- 关于java类集框架的总结
- CI框架初识-数据库自动加载
- Java类集框架——认识类集、Collection接口