zoukankan      html  css  js  c++  java
  • 集合(list,Map,HashMap,TreeMap)

    Q1:list集合的应用:

    package com.zhangyuwei.collection;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class test1 {
        public static void main(String[] args) {
            List<Integer> list=new ArrayList<Integer>();
            list.add(1);list.add(2);list.add(3);
            System.out.println("长度:"+list.size());
            list.remove(0);
            System.out.println("长度:"+list.size());
            list.clear();
            System.out.println("长度:"+list.size());
        }
    }

    Q2:ArrayList应用

    package com.zhangyuwei.collection;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.LinkedList;
    
    public class test2 {
        public static void main(String[] args) {
            ArrayList<String> arrayList=new ArrayList<String>();
            arrayList.add("Tom");
            arrayList.add("Jerry");
            arrayList.add("Micky");
            //使用iterator遍历元素
            Show(arrayList);
            System.out.println("-----------------------");
            System.out.println(arrayList.get(1));
            System.out.println("-----------------------");
            arrayList.add(1,"ZhangSan");
            System.out.println(arrayList.get(1));
            System.out.println("---------添加一个集合--------------");
            ArrayList<String> arrayList1=new ArrayList<String>();
            arrayList1.add("ZhangYuWei");
            arrayList.addAll(arrayList1);
            System.out.println("---------输出加入集合后的值--------------");
            Show(arrayList);
            System.out.println("--------判断是否包含某个元素---------------");
            if(arrayList.contains("Tom")){
                System.out.println("Tom is included in the Arraylist collection");
            }
            System.out.println("------一种新的元素,这个集合支持一些新的特性-----------------------");
            LinkedList<String> linkedLis=new LinkedList<String>();
            linkedLis.addAll(arrayList);
            /*集合中设置值*/
            linkedLis.set(0,"LunXun");
            System.out.println(linkedLis.get(1));
            System.out.println("---------获得第一个元素----------------------");
            System.out.println(linkedLis.getFirst());
            System.out.println("---------获得最后一个元素----------------------");
            System.out.println(linkedLis.getLast());
            System.out.println("---------获取并移除第一个元素----------------------");
            System.out.println(linkedLis.pollFirst());
            System.out.println(linkedLis.getFirst());
            System.out.println("---------获取但不移除第一个元素----------------------");
            System.out.println(linkedLis.peekFirst());
            System.out.println(linkedLis.getFirst());
        }
        public static void Show(ArrayList<String> arrayList){
            Iterator iterator=arrayList.iterator();
            while (iterator.hasNext()){
                //获得值
                Object value=iterator.next();
                System.out.println(value);
            }
        }
    }

    Q3:HashMap应用

    package com.zhangyuwei.collection;
    
    import java.util.*;
    
    public class test3 {
        public static void main(String[] args) {
            HashMap<String,Object> hashMap=new HashMap<String, Object>();
            // 向Map中添加元素
            hashMap.put("Tom", 26);
            hashMap.put("Jack", 18);
            hashMap.put("Micky", 17);
            hashMap.put("Kate", 15);
            System.out.println("---------根据key值获取value---------------");
            System.out.println(hashMap.get("Tom"));
            System.out.println("--------------移除--------------------");
            hashMap.remove("Tom");
            System.out.println("-----------根据key进行判断-------------------");
            if(hashMap.containsKey("Tom")){
                System.out.println("Tom is included in the hashmap");
            }
            System.out.println("-------判断HashMap是否为空------------");
            if(!hashMap.isEmpty()){
                System.out.println(hashMap.size());
            }
            System.out.println("-----------获取key的集合---------------");
            for(String item:hashMap.keySet()){
                System.out.println(item);
            }
            System.out.println("-----------获取value的集合---------------");
            TreeMap<String, Object> treeMap = new TreeMap<String, Object>();
            /*将HashMap集合加入到TreeMap中*/
            treeMap.putAll(hashMap);
            System.out.println("----------输出内容会按照key排序------------------");
            for (Map.Entry<String,Object> entry:treeMap.entrySet()){
                System.out.println("key:"+entry.getKey()+",value:"+entry.getValue());
            }
            System.out.println("-------LinkHashMap-----------");
            LinkedHashMap<String,Integer> linkedHashMap=new LinkedHashMap<String,Integer>();
            // 向Map中添加元素
            linkedHashMap.put("Tom", 26);
            linkedHashMap.put("Jack", 18);
            linkedHashMap.put("Micky", 17);
            linkedHashMap.put("Kate", 15);
            System.out.println("------保持了插入的顺序------------");
            /*for (Map.Entry<String,Integer> entry:linkedHashMap.keySet()){
                System.out.println("key:"+entry.getKey()+",value:"+entry.getValue());
            }*/
            System.out.println(linkedHashMap.get("Kate"));
        }
    }

    Q4:set基础操作

    List<Integer> list = new ArrayList<Integer>();
               list.add(3);
               list.add(4);
               HashSet<Integer> hashSet = new HashSet<Integer>();
               hashSet.add(1);
               hashSet.add(3);
               hashSet.add(2);
               hashSet.add(6);
               // 重复元素将不能被添加
               hashSet.add(3);
               // 只要有元素被添加就返回true
               if (hashSet.addAll(list)) {
                   System.out.println("Add success");
               }
               // 判断是否存在某个集合
               if (hashSet.containsAll(list)) {
                   System.out.println("The hashSet is contain 3 and 4");
               }
               Iterator<Integer> it = hashSet.iterator();
               while (it.hasNext()) {
                   System.out.print(it.next() + " ");
                   // 1 2 3 4 6
                   // 看结果是被排序了,HashSet按照Hash函数排序,Integer值的HashCode就是其int值
               }
               // 换转成数组
               Object[] integers = hashSet.toArray();
               for (int i = 0; i < integers.length; i++) {
                   System.out.print((Integer) integers[i]);
               }
               //移除元素
               hashSet.remove(3);
               
               TreeSet<String> treeSet = new TreeSet<String>();
               treeSet.add("C");
               treeSet.add("A");
               treeSet.add("D");
               treeSet.add("B");
               for (Iterator<String> strIt = treeSet.iterator(); strIt.hasNext();) {
                   System.out.print(strIt.next());
                   // ABCD 按照字母顺序
               }
               LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>();
               linkedHashSet.add("C");
               linkedHashSet.add("A");
               linkedHashSet.add("D");
               linkedHashSet.add("B");
               for (Iterator<String> linkedIt = linkedHashSet.iterator(); linkedIt
                       .hasNext();) {
                   System.out.print(linkedIt.next());
                   // CADB 按照插入顺序
               }

    说明:

    1:TreeSet:基于TreeMap,生成一个总是处于排序状态的set,内部以TreeMap来实现。它是使用元素的自然顺序对元素进行排序,或者根据创建Set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。

    2:集合是数组的升级,长度是动态的,无需预定义

    3:Collection 接口存储一组不唯一,无序的对象

    4:Set 接口存储一组唯一,无序的对象

    5:Map接口存储一组键值对象,提供key到value的映射,Key不允许重复

    6:List 允许重复,有序

    7:set 不允许重复,无序

    8:map value可重复,key不可重复,无序

    Q5:一个简单的应用实例:

    1:DVD实体

    package com.zhangyuwei.dvdSystem;
    
    public class DVD {
        public int id;
        public String name;
        public double price;
        public boolean isRent;
    
        public DVD(int id, String name, double price, boolean isRent) {
            this.id = id;
            this.name = name;
            this.price = price;
            this.isRent = isRent;
        }
    
        @Override
        public String toString() {
            return ("编号:"+this.id+"		"+"名称:"+this.name+"		"+"价格:"+this.price+"		"+"借出:"+(this.isRent?"是":"否"));
        }
    }

    2:DVDService

    package com.zhangyuwei.dvdSystem;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /*服务 DBD管理 DVD业务*/
    public class DVDService {
        /**构造*/
        public DVDService(){
            init();
        }
        /**DVD集合*/
        public Map<Integer,DVD> map=new HashMap<Integer, DVD>();
        public void init() {
            DVD d1 = new DVD(2017001, "功夫", 17.3, true);
            DVD d2 = new DVD(2017002, "寒战", 25.6, false);
            DVD d3 = new DVD(2017003, "超体", 11.9, true);
            DVD d4 = new DVD(2017004, "异型", 88.8, false);
            DVD d5 = new DVD(2017005, "龙猫", 64.1, true);
            map.put(d1.id,d1);map.put(d2.id,d2);map.put(d3.id,d3);
            map.put(d4.id,d4);map.put(d5.id,d5);
        }
        /**添加DVD*/
        public void addDVD(DVD dvd){
            map.put(dvd.id,dvd);
        }
        /*删除DVD*/
        public void delDVD(int id){
            map.remove(id);
        }
        /**显示DVD*/
        public void showDVD(){
            for(Map.Entry<Integer,DVD> entry:map.entrySet()){
                System.out.println(entry.getValue().toString());
            }
        }
        /**修改DVD借出状态*/
        public void modify(int id,boolean isRend){
            DVD dvd=map.get(id);
            dvd.isRent=isRend;
        }
    }

    3:客户端(test)(DVDClient)

    package com.zhangyuwei.dvdSystem;
    
    public class DVDClient {
        public static void main(String[] args) {
            DVDService dvdService=new DVDService();
            dvdService.showDVD();
            System.out.println("-----------------------");
            dvdService.modify(2017004,true);
            dvdService.showDVD();
            System.out.println("-----------------------");
            dvdService.delDVD(2017004);
            dvdService.showDVD();
        }
    }

    结果:

    
    
    zywds
  • 相关阅读:
    JQ购物车+1-1
    [转载]DATEDIFF() 函数返回两个日期之间的时间
    [转载]js获取当前页面url网址信息
    [转载]Request获取文件路径
    JQ页面跳转
    [转载]Sql Server 日期格式化函数
    [转载]jQuery的attr()与prop()的区别
    [转载]获取验证码60秒倒计时
    [转载]JQ键盘事件
    [转载]SQL常用语句
  • 原文地址:https://www.cnblogs.com/zywds/p/9921561.html
Copyright © 2011-2022 走看看