首页 > 代码库 > 25.类集框架

25.类集框架

  • 什么是类集框架
    • 类集框架是一组类和接口
    • 位于java.util包中
    • 主要用户储存和管理对象
    • 主要分为三大类—集合、列表和映射
 
  • 集合的种类
      • 什么是集合
        • 集合中的对象不按特定的方式排列,并且没有重复对象
                技术分享
 
    • 什么是列表(List)
      • 集合中对象按照索引位置排序,可以有重复对象
                                技术分享
 
  • 什么是映射(Map)
    • 集合中的每一个元素包含一个键对象和一个值对象,键不可以重复,值可以重复
                                技术分享
 
 
  • 类集框架的基础结构
        技术分享
 
  1. //导入List接口和ArrayList实现类
  2. import java.util.List;
  3. import java.util.ArrayList;
  4. publicclassTest{
  5. publicstaticvoid main(String args []){
  6. ArrayList<String> arrayList =newArrayList<String>();
  7. //向arrayList当中添加对象
  8. arrayList.add("a");
  9. arrayList.add("b");
  10. arrayList.add("c");
  11. arrayList.add("d");
  12. //移除对象
  13. arrayList.remove(1);
  14. //输出数组中的对象,调用arrayList.size()可以知道arranList的长度
  15. for(int i =0; i < arrayList.size(); i++){
  16. String s = arrayList.get(i);
  17. System.out.println(s);
  18. }
  19. }
  20. }
结果是:
D:\work\src>javac Test.java
 
D:\work\src>java Test
a
c
d
 
 
  • Collection和Iterator接口
    • Collection接口(一)
             技术分享
                
 
 
 
  • Set与HashSet的使用方法
    • set中不允许重复元素,如果有重复的话,会忽略不算
 
  1. //导入接口和实现类,set接口是collection接口的子接口
  2. import java.util.Set;
  3. import java.util.HashSet;
  4. publicclassTest{
  5. publicstaticvoid main(String args []){
  6. //生成一个HashSet对象,再向上转型为Set类型
  7. //HashSet<String> hashSet = new HashSet<String>();
  8. //Set<String> set = HashSet;
  9. //等同于下面这行代码
  10. Set<String>set=newHashSet<String>();
  11. boolean b1 =set.isEmpty();
  12. System.out.println(b1);
  13. set.add("a");
  14. set.add("b");
  15. set.add("c");
  16. set.add("d");
  17. set.add("c");
  18. boolean b2 =set.isEmpty();
  19. System.out.println(b2);
  20. int i =set.size();
  21. System.out.println("clean之前set对象的长度是"+ i);
  22. set.remove("a");
  23. int j =set.size();
  24. System.out.println("remove之后set对象的长度是"+ j);
  25. set.clear();
  26. int k =set.size();
  27. System.out.println("clean之后set对象的长度是"+ k);
  28. }
  29. }
结果:
D:\work\src>javac Test.java
 
D:\work\src>java Test
true
false
clean之前set对象的长度是4
remove之后set对象的长度是3
clean之后set对象的长度是0
 
    • 迭代器的使用
      • 在不暴露数据细节的情况下,把数据一个一个的取出来
      • hasNest():返回boolean值,代表当前迭代器游标有没有下个元素
 
技术分享
 
      • nest():取出游标的下一个元素,并把游标后移一位
技术分享
  1. //导入接口和实现类,set接口是collection接口的子接口
  2. import java.util.Set;
  3. import java.util.HashSet;
  4. import java.util.Iterator;
  5. publicclassTest{
  6. publicstaticvoid main(String args []){
  7. //HashSet<String> hashSet = new HashSet<String>();
  8. //Set<String> set = HashSet;
  9. //Iterator <-- Collection <-- Set <-- HashSet
  10. //  <-- List <-- ArrayList
  11. Set<String>set=newHashSet<String>();
  12. set.add("a");
  13. set.add("b");
  14. set.add("c");
  15. set.add("d");
  16. set.add("c");
  17. //调用Set对象的Iterator方法,会生成一个迭代器对象,该对象用于遍历整个Set
  18. Iterator<String> it =set.iterator();
  19. while(it.hasNext()){
  20. String s = it.next();
  21. System.out.println(s);
  22. }
  23. }
  24. }
结果:
D:\work\src>javac Test.java
 
D:\work\src>java Test
a
b
c
d
 
 
  • Map与HashMap的使用方法
    • 什么是映射(Map)
      • 映射中的每一个元素包含一个键对象和一个值对象,键不可以重复,值可以重复
      •  键重复时,值会被后来的替换
 
  1. import java.util.Map;
  2. import java.util.HashMap;
  3. publicclassTest{
  4. publicstaticvoid main(String args []){
  5. HashMap<String,String> hashMap =newHashMap<String,String>();
  6. //向上转型为Map类型
  7. Map<String,String>map= hashMap;
  8. //可以使用Map的put方法,向映射当中存放数据
  9. map.put("1","a");
  10. map.put("2","b");
  11. map.put("3","c");
  12. map.put("4","d");
  13. map.put("3","e");
  14. //使用size()方法,来得到map的长度
  15. int i =map.size();
  16. System.out.println(i);
  17. //根据键来取值
  18. String s =map.get("3");
  19. System.out.println(s);
  20. }
  21. }
结果:
D:\work\src>javac Test.java
 
D:\work\src>java Test
4
e
 
 
  • JDK帮助文档的使用方法
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



来自为知笔记(Wiz)



25.类集框架