• Java的集合类


    package com.test2;
    import java.util.*;
    
    /**
     * @author qingfeng
     * 功能:集合类练习
     */
    public class Collection {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            ClerkManager cm = new ClerkManager();
            Clerk clerk1 = new Clerk("yan",20,1332.1f);
            //cm.addClerk(clerk1);
            //cm.showArrayListInfo();
            //cm.showVectorListInfo();
            Clerk clerk2 = new Clerk("zhang",20,15532.26f);
            //cm.addClerk(clerk2);
            //cm.showLinkListInfo();
            Clerk clerk3 = new Clerk("zhao",20,11.1f); //会覆盖原来的!!(因为HashMap不允许key值重复)注意与ArrayList的区别!
            cm.addClerk_HashMap(clerk1);
            cm.addClerk_HashMap(clerk2);
            cm.addClerk_HashMap(clerk3);
            //cm.isExisted();
            //cm.showAllInfo_HashMap();
            
            Clerk clerk4 = new Clerk(null,20,566.1f);
            cm.addClerk_HashMap(clerk4);
            cm.isExisted();
            //cm.showAllInfo_HashMap();
            
            //cm.addClerk_Hashtable(clerk4);
            //cm.isExisted();
            //cm.showAllInfo_Hashtable();
        }
    
    }
    //员工管理类
    class ClerkManager
    {
        //成员属性:对象的引用
        ArrayList al = null;//数组列表 高效率
        Vector vec = null;//向量 线程安全  并发
        LinkedList ll= null;//链型列表
        HashMap hm = null;//键值对 高效率
        Hashtable ht= null;//键值对 线程安全 并发
        
        //构造方法:创建对象
        public ClerkManager()
        {
            al = new ArrayList();
            vec = new Vector();    
            ll = new LinkedList();
            hm = new HashMap();
            ht = new Hashtable();    
        }
        //添加员工
        public void addClerk(Clerk clerk)
        {
            //al.add(clerk);
            //vec.add(clerk);
            //ll.addFirst(clerk);//栈型结构:先输入后输出
            //ll.addLast(clerk);//队列型结构:先进先出
        }
        public void addClerk_HashMap(Clerk clerk)
        {
            hm.put(clerk.getName(), clerk);//key值为姓名 value为对象!!
        }
        public void addClerk_Hashtable(Clerk clerk)
        {
            ht.put(clerk.getName(), clerk);
        }
        //显示所有员工(ArrayList 遍历)
        public void showArrayListInfo()
        {
            for(int i=0; i<al.size(); i++)
            {
                Clerk clerk = (Clerk)al.get(i);//从数组中取出对象
                System.out.println(clerk.getSalary());//用对象去调用方法
                
            }
        }
        //显示所有员工(Vector 遍历)
        public void showVectorInfo()
        {
            for(int i=0; i<vec.size(); i++)
            {
                Clerk clerk = (Clerk)vec.get(i);//取出对象
                System.out.println(clerk.getSalary());//用对象去调用方法
                
            }
        }
        //显示所有员工(LinkedList 遍历)
        public void showLinkListInfo()
        {
            for(int i=0; i<ll.size(); i++)
            {
                Clerk clerk = (Clerk)ll.get(i);//取出对象
                System.out.println(clerk.getSalary());//用对象去调用方法
            }
        }
        //HashMap查看是否有员工
        public void isExisted()
        {
            if(hm.containsKey(null))
            {
                System.out.println("你所查的key值存在!");
                Clerk clerk=(Clerk)hm.get(null);
                System.out.println(clerk.getSalary());
            }
            else
            {
                System.out.println("你所查的key值不存在!");
            }    
        }
        //HashMap遍历所有对象
        //Iterator(接口)迭代器; keySet()返回此映射中所包含的键的 Set 视图;iterator()返回在此 set 中的元素上进行迭代的迭代器。
        public void showAllInfo_HashMap()
        {
            Iterator it = hm.keySet().iterator();
            while(it.hasNext())//hasNext返回boolean
            {
                String key = it.next().toString();//next()取出key
                Clerk clerk = (Clerk)hm.get(key);
                System.out.print("名字:"+clerk.getName());
                System.out.print(" 年龄:"+clerk.getAge());
                System.out.println(" 薪水:"+clerk.getSalary());
            }
        }
        //Hashtable与HashMap的区别测试
        public void showAllInfo_Hashtable()
        {
            Iterator it = ht.keySet().iterator();
            while(it.hasNext())//hasNext返回boolean
            {
                String key = it.next().toString();//next()取出key
                Clerk clerk = (Clerk)ht.get(key);
                System.out.print("名字:"+clerk.getName());
                System.out.print(" 年龄:"+clerk.getAge());
                System.out.println(" 薪水:"+clerk.getSalary());
            }
        }
        
    }
    
    class Clerk
    {
        private String name;
        private int age;
        private float salary;
        
        public Clerk(String name, int age, float salary)
        {
            this.name = name;
            this.age = age;
            this.salary = salary;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public float getSalary() {
            return salary;
        }
    
        public void setSalary(float salary) {
            this.salary = salary;
        }
        
        
    }
  • 相关阅读:
    “<”特殊符号写法
    js中,符合属性的js写法是讲下横杆去掉
    Windows 搭建WAMP+Mantis
    Windows server 2012 R2 服务器用户自动锁定
    对域用户设置为本地管理员权限
    windows 域控用户记住最后一次登录用户名
    redhat7.6 配置主从DNS
    redhat7.6 DNS配置正向解析
    redhat7.6 AIDE 系统文件完整性检查工具
    redhat7.6 httpd 匿名目录 目录加密 域名跳转
  • 原文地址:https://www.cnblogs.com/qingfengzhuimeng/p/6513556.html
Copyright © 2020-2023  润新知