• 集合框架


    1.java集合框架(Java Colletion Framework):可以理解为用来在内存中存放一组对象的某种容器,就像之前的数组和自定义队列。 
    2.java中的集合框架是线性的数据结构,但是这些线性的数据结构分为两类:物理线性,逻辑线性。 

    3.java集合类主要在java.util.*包下,主要有一下几类: 
         1.List:有序的集合类(某种特定的顺序) 
         2.Set:是无序并且不重复数据的集合类 
         3.Map:键值对的集合类 
    例如:学号--->学生 
         身份证号---->人 
         4.Queue 

    4.List、Set和Map都是接口(Interface),不是具体的类实现。 
    List lst = new ArrayList(); 
    这是我们平常经常使用的创建一个新的List的语句,在这里, List是接口,ArrayList才是具体的类。 

    5.java.util.Set接口的测试类 
    public class Test { 

    public static void main(String[] args) { 
                         java.util.Set<String> set = createSet(); 
    // 打印 
    printSet(set); 
    boolean b = deleteElement("c", set); 
    System.out.println("删除" + b); 
    printSet(set); 
                      set.add("k"); 
    set.add("i"); 
    set.add("f"); 
    set.add("e"); 
    set.add("c"); 
    set.add("b"); 
    set.add("a"); 
    printSet(set); 
             } 


    /** 
    * 实例化Set集合对象 

    * @return 返回实例化后初始化的集合对象 
    */ 
    public static java.util.Set<String> createSet() { 
    // 实例化一个List集合对象 
    java.util.Set<String> set = new  java.util.HashSet<String>(); 
    // 循环集合对象添加10个数据 
    for (int i = 0; i < 10; i++) { 
    char c = (char) (97 + i); 
    set.add(c + ""); 

    return set; 

    /** 
    * 打印Set集合的方法 

    * @param Set要被打印的集合对象 
    */ 
    public static void printSet(java.util.Set<String> set) { 
    // 获取Set集合的迭代器 
    java.util.Iterator<String> iter = set.iterator(); 
    // 开始遍历Set集合 
    while (iter.hasNext()) { 
    System.out.println(iter.next()); 



    *注意:第三次打印出来的数据有11个(a,b,c,d,e,f,g,h,i,j,k) 

    6.List的测试类 
    public class ListTest { 

    public static void main(String[] args) { 
    java.util.List<String> list = createList(); 
    print(list); 
             } 

              /** 
    * 实例化list集合对象 

    * @return 返回实例化后初始化的集合对象 
    */ 
    public static java.util.List<String> createList() { 
    // 实例化一个List集合对象 
    java.util.List<String> list = new java.util.ArrayList<String>(); 
    // 循环集合对象添加10个数据 
    for (int i = 0; i < 10; i++) { 
    char c = (char) (97 + i); 
    list.add(c + ""); 

    return list; 


    /** 
    * 打印List集合的方法 

    * @param list要被打印的集合对象 
    */ 
    public static void print(java.util.List<String> list) { 
    // 循环打印 
    for (int i = 0; i < list.size(); i++) { 
    System.out.println(list.get(i)); 




    7.Map测试类 
    public class MapTest { 

             public static void main(String[] args) { 
    java.util.Map<Integer, String> map = createMap(); 
    //打印 
    printMap(map); 
    //添加数据 
    System.out.println("添加数据"); 
    map.put(10, "a"); 
    map.put(20, "c"); 
    map.put(30, "d"); 
    map.put(40, "e"); 
    map.put(1, "b"); 
    map.put(0, "a"); 
    map.put(5, "p"); 
    //打印 
    printMap(map); 
    //删除数据 
    System.out.println("删除数据"); 
    deleteElement(5,map); 
    //打印 
    printMap(map); 



    /** 
    * 实例化Map集合对象 

    * @return 返回实例化后初始化的集合对象 
    */ 
    public static java.util.Map<Integer, String> createMap() { 
    // 实例化一个Map集合对象 
    java.util.Map<Integer, String> map = new java.util.HashMap<Integer, String>(); 
    // 循环集合对象添加10个数据 
    for (int i = 0; i < 10; i++) { 
    char c = (char) (97 + i); 
    map.put(i, c + ""); 

    return map; 


    /** 
    * 删除一个指定对象值 
    */ 
    public static String deleteElement(Integer key, 
    java.util.Map<Integer, String> map) { 
    // 开始删除元素 
    String str = map.remove(key); 

    return str; 


    /** 
    * 打印Map集合的方法 

    * @param Map要被打印的集合对象 
    */ 
    public static void printMap(java.util.Map<Integer, String> map) { 
    // 得到一个Key的Set集合 
    java.util.Set<Integer> set = map.keySet(); 
    // 获取Set集合的迭代器 
    java.util.Iterator<Integer> iter = set.iterator(); 
    // 开始遍历Set集合 
    while (iter.hasNext()) { 
    // 获取Key值 
    Integer ie = iter.next(); 
    // 输出 
    System.out.println("Key值:" + ie + "\t Value值是:" + map.get(ie)); 





    8.去重和排序 
    import java.util.Set; 
    import java.util.HashSet; 
    import java.util.TreeSet; 

    public class SetTest { 

    public static void main(String[] args) { 
    int a[]={6,7,4,8,2,6,33,5,7,6,3,3,53,53,13}; 
    Object b[] = new SetTest().quchong(a);                    for (int i = 0; i < b.length; i++) { 
      System.out.print(b[i]+"\t"); 
      } 
    }
    public Object [] quchong(int a[]){ 
    Set<Integer> set=new TreeSet<Integer>(); 
    for (int i = 0; i < a.length; i++) { 
    set.add(a[i]);

    Object b[] = set.toArray(); 
    return b; 


    }
     
     
  • 相关阅读:
    [BJOI2016] 回转寿司
    [洛谷P4115] Qtree4 & [ZJOI2007] 捉迷藏
    [POI2011] METMeteors
    [NOI2020] 命运
    [20220404联考] 条条下水道通祖安
    相机丢图解决方案
    网卡一些设置,摘自百度文库
    设置 Qtabwidget 窗体透明
    DevExpress RibbonControl菜单组底部怎么去掉 学无止境
    Python篇:某宝毫秒级的精准秒杀
  • 原文地址:https://www.cnblogs.com/chenying99/p/2447902.html
Copyright © 2020-2023  润新知