• day17作业


    1.java.util  2.队列先进先出,栈堆先进后出   3.链表  4.LinkedList  5.TreeSet  6.Comparable  7.Map  8.next()

    1.AC 2.A 3.D 4.B 5.D 6.C 7.C 8.C 9.CD

    1.× 2.√ 3.× 4.× 5.√ 6.√ 7.√ 8.× 9.√ 10.× 11.× 12.√

    2.List是有序的集合,使用此接口能够精确控制每个元素插入的位置,用户能够用索引来访问List中的元素,这类似于java的数组。

    Set是一种不包含重复的元素的集合,即任意的两个元素都有equals()方法,Set最多有一个null元素。

    Map接口,将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。

    3.区别:Vector是线程安全的,效率低。ArrayList是线程不安全的,效率高。

    联系:底层都是数组实现的。

    4.Hashtable是JDK1.0版本出现的,是线程安全的,效率低;

    HashMap是JDK1.2版本出现的,是线程不安全的,效率高;

    Hashtable不可以存储null键和null值;

    HashMap可以存储null键和null值(目的是为了让后续代码可以继续执行)

    package com.zuikc.bean;
    
    public class Book {
        private int id;
        private String name;
        private double price;
        private String press;
    
        public Book() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        public Book(int id, String name, double price, String press) {
            super();
            this.id = id;
            this.name = name;
            this.price = price;
            this.press = press;
        }
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public double getPrice() {
            return price;
        }
    
        public void setPrice(double price) {
            this.price = price;
        }
    
        public String getPress() {
            return press;
        }
    
        public void setPress(String press) {
            this.press = press;
        }
    
        @Override
        public String toString() {
            return "Book [id=" + id + ", name=" + name + ", price=" + price + ", press=" + press + "]";
        }
    
        @Override
        public int hashCode() {
            final int prime = 31;
            int result = 1;
            result = prime * result + id;
            result = prime * result + ((name == null) ? 0 : name.hashCode());
            result = prime * result + ((press == null) ? 0 : press.hashCode());
            long temp;
            temp = Double.doubleToLongBits(price);
            result = prime * result + (int) (temp ^ (temp >>> 32));
            return result;
        }
    
        @Override
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj == null) {
                return false;
            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            Book other = (Book) obj;
            if (id != other.id) {
                return false;
            }
            if (name == null) {
                if (other.name != null) {
                    return false;
                }
            } else if (!name.equals(other.name)) {
                return false;
            }
            if (press == null) {
                if (other.press != null) {
                    return false;
                }
            } else if (!press.equals(other.press)) {
                return false;
            }
            if (Double.doubleToLongBits(price) != Double.doubleToLongBits(other.price)) {
                return false;
            }
            return true;
        }
    
    }
    
    package com.zuikc.kehoutest;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    
    import com.zuikc.bean.Book;
    
    public class Test6 {
    
        public static void main(String[] args) {
    //        demo1();
            Map<Integer, Book> m = new HashMap<>();
            m.put(100, new Book(100,"b1",20.5,"aaa"));
            m.put(101, new Book(101,"b2",21.5,"bbb"));
            m.put(102, new Book(102,"b3",22.5,"ccc"));
            m.put(103, new Book(103,"b4",23.5,"ddd"));
            
            for(Entry<Integer, Book> entry : m.entrySet()) {
                System.out.println(entry.getKey() + "..." + entry.getValue());
            }
        }
    
        private static void demo1() {
            List<Book> list = new ArrayList<>();
            list.add(new Book(100,"b1",20.5,"aaa"));
            list.add(new Book(101,"b2",21.5,"bbb"));
            list.add(new Book(102,"b3",22.5,"ccc"));
            list.add(new Book(103,"b4",23.5,"ddd"));
            
            for (Book book : list) {
                System.out.println(book.toString());
            }
        }
    
    }
    package com.zuikc.bean;
    
    public class Book {
        private int id;
        private String name;
        private double price;
        private String press;
    
        public Book() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        public Book(int id, String name, double price, String press) {
            super();
            this.id = id;
            this.name = name;
            this.price = price;
            this.press = press;
        }
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public double getPrice() {
            return price;
        }
    
        public void setPrice(double price) {
            this.price = price;
        }
    
        public String getPress() {
            return press;
        }
    
        public void setPress(String press) {
            this.press = press;
        }
    
        @Override
        public String toString() {
            return "Book [id=" + id + ", name=" + name + ", price=" + price + ", press=" + press + "]";
        }
    
        @Override
        public int hashCode() {
            final int prime = 31;
            int result = 1;
            result = prime * result + id;
            result = prime * result + ((name == null) ? 0 : name.hashCode());
            result = prime * result + ((press == null) ? 0 : press.hashCode());
            long temp;
            temp = Double.doubleToLongBits(price);
            result = prime * result + (int) (temp ^ (temp >>> 32));
            return result;
        }
    
        @Override
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj == null) {
                return false;
            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            Book other = (Book) obj;
            if (id != other.id) {
                return false;
            }
            if (name == null) {
                if (other.name != null) {
                    return false;
                }
            } else if (!name.equals(other.name)) {
                return false;
            }
            if (press == null) {
                if (other.press != null) {
                    return false;
                }
            } else if (!press.equals(other.press)) {
                return false;
            }
            if (Double.doubleToLongBits(price) != Double.doubleToLongBits(other.price)) {
                return false;
            }
            return true;
        }
    
    }
    
    package com.zuikc.kehoutest;
    
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.TreeSet;
    
    import com.zuikc.bean.Book;
    
    public class Test7 {
    
        public static void main(String[] args) {
    //        demo1();
            TreeSet<Book> ts = new TreeSet<>();
            ts.add(new Book(100,"b1",20.5,"aaa"));
            ts.add(new Book(100,"b1",20.5,"aaa"));
            ts.add(new Book(101,"b2",21.5,"bbb"));
            ts.add(new Book(101,"b2",21.5,"bbb"));
            ts.add(new Book(102,"b3",22.5,"ccc"));
            ts.add(new Book(103,"b4",23.5,"ddd"));
            
            for(Book book : ts) {
                System.out.println(book);
            }
        }
    
        private static void demo1() {
            HashSet<Book> hs = new HashSet<>();
            hs.add(new Book(100,"b1",20.5,"aaa"));
            hs.add(new Book(101,"b2",21.5,"bbb"));
            hs.add(new Book(102,"b3",22.5,"ccc"));
            hs.add(new Book(103,"b4",23.5,"ddd"));
            
            for(Book book : hs) {
                System.out.println(book);
            }
        }
    
    }
    package com.zuikc.bean;
    
    public class StudentEntry {
        private int key;
        private Student2 s;
        public StudentEntry() {
            super();
            // TODO Auto-generated constructor stub
        }
        public StudentEntry(int key, Student2 s) {
            super();
            this.key = key;
            this.s = s;
        }
        public int getKey() {
            return key;
        }
        public void setKey(int key) {
            this.key = key;
        }
        public Student2 getS() {
            return s;
        }
        public void setS(Student2 s) {
            this.s = s;
        }
        
    }
    
    package com.zuikc.kehoutest;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;
    
    import com.zuikc.bean.Student2;
    import com.zuikc.bean.StudentEntry;
    
    public class Test8 {
    
        public static void main(String[] args) {
    //        listToMap();
            Map<Integer, Student2> m = new HashMap<>();
            m.put(100, new Student2(100, "张三", 23, "男"));
            m.put(101, new Student2(101, "李四", 24, "男"));
            m.put(102, new Student2(100, "王五", 25, "男"));
            m.put(103, new Student2(100, "赵六", 26, "男"));
            
            List<StudentEntry> list = new ArrayList<>();
            for(Entry<Integer, Student2> entry : m.entrySet()) {
                StudentEntry se = new StudentEntry();
                se.setKey(entry.getKey());
                se.setS(entry.getValue());
                list.add(se);
            }
            for(StudentEntry se : list) {
                System.out.println(se.getKey() + "..." + se.getS());
            }
        }
    
        private static void listToMap() {
            List<Student2> list = new ArrayList<>();
            list.add(new Student2(100, "张三", 23, "男"));
            list.add(new Student2(101, "李四", 24, "男"));
            list.add(new Student2(100, "王五", 25, "男"));
            list.add(new Student2(100, "赵六", 26, "男"));
            for (Student2 s : list) {
                System.out.println(s);
            }
            Map<Integer, Student2> m = new HashMap<>();
            Iterator<Student2> it = list.iterator();
            while (it.hasNext()) {
                Student2 s1 = it.next();
                m.put(s1.getId(), s1);
            }
    
            Set<Entry<Integer, Student2>> entrySet = m.entrySet();
            for (Entry<Integer, Student2> entry : entrySet) {
                System.out.println(entry.getKey() + "..." + entry.getValue());
            }
        }
    
    }
    package com.zuikc.kehoutest;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class Test9 {
    
        public static void main(String[] args) {
            String str = "aa@sohu.com,bb@163.com,cc@sina.com";
            String strs[] = str.split(",");
            Map<String, String> emailMap = new HashMap<String, String>();
            for (String email : strs) {
                String temp[] = email.split("@");
                emailMap.put(temp[0], temp[1]);
            }
            System.out.println(emailMap.toString());
        }
    
    }
    package com.zuikc.bean;
    
    public class Student3 implements Comparable<Student3>{
        private int id;
        private String name;
        private int age;
        public Student3() {
            super();
            // TODO Auto-generated constructor stub
        }
        public Student3(int id, String name, int age) {
            super();
            this.id = id;
            this.name = name;
            this.age = age;
        }
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        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;
        }
        @Override
        public String toString() {
            return "Student3 [id=" + id + ", name=" + name + ", age=" + age + "]";
        }
        @Override
        public int compareTo(Student3 s) {
            return this.age - s.age;
        }
        
    }
    package com.zuikc.kehoutest;
    
    import java.util.Scanner;
    import java.util.Set;
    
    import javax.swing.text.html.HTMLDocument.Iterator;
    
    import com.zuikc.bean.Student3;
    
    public class Test10 {
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            Set<Student3> stuSet = saveStudentInfo();
            Iterator<Student3> it = stuSet.iterator();
            while (it.hasNext()) {
                String info = it.next().toString();
                System.out.println(info);
            }
        }
    
        private static void saveStudentInfo() {
            while (true) {
                System.out.println("请输入学生信息(编号#姓名#年龄)");
                String line = sc.nextLine();
                if ("exit".equals(line)) {
                    break;
                }
                String[] info = line.split("#");
                Student3 stu = new Student3(Integer.parseInt(info[0]), info[1], Integer.parseInt(info[2]));
                stuSet.add(stu);
            }
            return stuSet;
        }
    
    }
  • 相关阅读:
    【面霸2】
    【面霸1】php知识点
    【技术宅11】php入门运算
    【技术宅10】顺序二分查找算法
    【技术宅9】遍历一个文件夹下的所有文件和子文件夹
    【技术宅7】一个或多个虚拟主机配置方法
    【技术宅6】把一个无限级分类循环成tree结构
    【技术宅5】抓去网页数据的3种方法
    【技术宅4】如何把M个苹果平均分给N个小朋友
    【技术宅3】截取文件和url扩展名的N种方法
  • 原文地址:https://www.cnblogs.com/lyx210019/p/9385879.html
Copyright © 2020-2023  润新知