• 集合


    1、List接口

    List集合可以存储有序的,可重复元素的集合。

    List接口常用的子类:

    • ArrayList集合,数据存储结构是数组,查找快,增删慢
    • LinkedList集合,数据存储结构是链表,查找慢,增删快
     1 package list;
     2 
     3 import java.util.LinkedList;
     4 
     5 /**
     6  * <p>Description:LinkedList方法演示 </p>
     7  * @author Administrator
     8  * @date 2018年10月29日下午5:36:55
     9  */
    10 public class LinkedListDemo {
    11 
    12     public static void main(String[] args) {
    13         // 创建对象
    14         LinkedList<String> link = new LinkedList<String>();
    15         // 添加元素
    16         link.add("baidu");
    17         link.add("alibaba");
    18         link.add("tenxun");
    19         // 获取元素
    20         System.out.println(link.getFirst());
    21         System.out.println(link.getLast());
    22         // 删除元素
    23         System.out.println(link.removeFirst());
    24         System.out.println(link.removeLast());
    25         // 判断集合是否为空
    26         while (!link.isEmpty()) {
    27             // 弹出栈顶元素
    28             System.out.println(link.pop());
    29         }
    30     }
    31 
    32 }

    2、Set接口

    Set接口可以存储无序的,不可重复的元素。

    Set接口常用子类:

    • HashSet集合,存储结构为哈希表
    • LinkedHashSet集合,存储结构为哈希表加链表
     1 package list;
     2 /**
     3  * <p>Description:学生类 </p>
     4  * @author Administrator
     5  * @date 2018年10月29日下午10:26:43
     6  */
     7 public class Student {
     8     private String name;    // 姓名
     9     private int age;        // 年龄
    10     // 构造方法
    11     public Student(String name, int age) {
    12         super();
    13         this.name = name;
    14         this.age = age;
    15     }
    16     // 访问姓名方法
    17     public String getName() {
    18         return name;
    19     }
    20     // 设置姓名方法
    21     public void setName(String name) {
    22         this.name = name;
    23     }
    24     // 访问年龄方法
    25     public int getAge() {
    26         return age;
    27     }
    28     // 设置年龄方法
    29     public void setAge(int age) {
    30         this.age = age;
    31     }
    32     @Override
    33     public String toString() {
    34         return "Student [name=" + name + ", age=" + age + "]";
    35     }
    36     @Override
    37     public int hashCode() {
    38         final int prime = 31;
    39         int result = 1;
    40         result = prime*result + age;
    41         result = prime*result + ((name == null) ? 0 : name.hashCode());
    42         return result;
    43     }
    44     @Override
    45     public boolean equals(Object obj) {
    46         if (this == obj) {
    47             return true;
    48         }
    49         if (!(obj instanceof Student)) {
    50             System.out.println("类型错误");
    51             return false;
    52         }
    53         Student other = (Student)obj;
    54         return this.age == other.age && this.name.equals(other.name);
    55     }
    56     
    57 }
     1 package list;
     2 
     3 import java.util.HashSet;
     4 import java.util.Iterator;
     5 
     6 /**
     7  * <p>Description:HashSet存储Student类演示 </p>
     8  * @author Administrator
     9  * @date 2018年10月29日下午10:42:06
    10  */
    11 public class HashSetDemo {
    12 
    13     public static void main(String[] args) {
    14         // 创建HashSet对象
    15         HashSet<Student> hs = new HashSet<Student>();
    16         // 向集合中添加Student对象
    17         hs.add(new Student("张三", 18));
    18         hs.add(new Student("李四", 20));
    19         hs.add(new Student("王五", 22));
    20         // 取出集合中的每个元素
    21         Iterator<Student> it = hs.iterator();
    22         while (it.hasNext()) {
    23             System.out.println(it.next());
    24         }
    25     }
    26 
    27 }
     1 package list;
     2 
     3 import java.util.Iterator;
     4 import java.util.LinkedHashSet;
     5 import java.util.Set;
     6 
     7 /**
     8  * <p>Description:LinkedHashSet存取演示 </p>
     9  * @author Administrator
    10  * @date 2018年10月29日下午10:49:05
    11  */
    12 public class LinkedHashSetDemo {
    13 
    14     public static void main(String[] args) {
    15         // 创建LinkedHashSet对象
    16         Set<String> set = new LinkedHashSet<String>();
    17         // 向集合中添加元素
    18         set.add("bbb");
    19         set.add("aaa");
    20         set.add("abc");
    21         set.add("bbc");
    22         // 迭代取出元素
    23         Iterator<String> it =set.iterator();
    24         while (it.hasNext()) {
    25             System.out.println(it.next());
    26         }
    27     }
    28 
    29 }

  • 相关阅读:
    Typescript+WebGL+Webpack开发环境搭建
    SVG的动态之美-搜狗地铁图重构散记
    2017年个人总结-程序员的中年焦虑症
    上海2017QCon个人分享总结
    CSS预编译与PostCSS以及Webpack构建CSS综合方案
    前端工程师的基本素养
    不仅仅是复制粘贴
    《微信小程序七日谈》- 第七天:不要捡了芝麻丢了西瓜
    《微信小程序七日谈》- 第六天:小程序devtool隐藏的秘密
    《微信小程序七日谈》- 第五天:你可能要在登录功能上花费大力气
  • 原文地址:https://www.cnblogs.com/alphajuns/p/9873977.html
Copyright © 2020-2023  润新知