Java Collection集合的ArrayList和HashSet怎么用

2023-05-06,,

今天小编给大家分享一下Java Collection集合的ArrayList和HashSet怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    Collection

    Collection接口被List接口和Set接口继承

    List

    ArrayList是List接口的实现类

    ArrayList

    ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。

    ArrayList 继承了 AbstractList ,并实现了 List 接口。

    创建ArrayList对象:

    public class List {
        public static void main(String[] args) {
            var list = new ArrayList();
        }
    }

    向集合中添加数据:

    add()

    public class List {
        public static void main(String[] args) {
            var list = new ArrayList();
            list.add("a");
            list.add(1);
            list.add(1);
            System.out.println(list);
        }
    }

    清空集合数据:

    clear()

    public class List {
        public static void main(String[] args) {
            var list = new ArrayList();
            list.add("a");
            list.add(1);
            list.add(1);
            System.out.println(list);
            list.clear();
            System.out.println(list);
        }
    }

    修改指定索引位置的对象

    set()

    public class List {
        public static void main(String[] args) {
            var list = new ArrayList();
            list.add("a");
            list.add(1);
            list.add(1);
            System.out.println(list);
            list.set(2, "a");
            System.out.println(list);
        }
    }

    Set

    HashSet
    • HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。

    • HashSet 允许有 null 值。

    • HashSet 是无序的,即不会记录插入的顺序。

    • HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。

    • HashSet 实现了 Set 接口。

    创建ArrayList对象:

    public class Set {
        public static void main(String[] args) {
            var set = new HashSet<>();
          
        }
    }

    向集合中添加数据:

    add()

    集合中的元素不能重复

    public class Set {
        public static void main(String[] args) {
            var set = new HashSet<>();
            set.add(1);
            set.add("a");
            set.add("a");
            System.out.println(set);
        }
    }

    清空集合数据:

    clear()

    public class Set {
        public static void main(String[] args) {
            var set = new HashSet<>();
            set.add(1);
            set.add("a");
            set.add("a");
            System.out.println(set);
            set.clear();
            System.out.println(set);
        }
    }

    删除指定元素

    public class Set {
        public static void main(String[] args) {
            var set = new HashSet<>();
            set.add(1);
            set.add("a");
            set.add("a");
            System.out.println(set);
            set.remove("a");
            System.out.println(set);
        }
    }

    ArrayList和HashSet的区别

    1.HashSet 是不重复的 而且是无序的! 唯一性保证. 重复对象equals方法返回为true ,重复对象hashCode方法返回相同的整数 HashSet其实就是一个HashMap,只是你只能通过Set接口操作这个HashMap的key部分

    2.ArrayList是可重复的 有序的 特点:查询效率高,增删效率低 轻量级 线程不安全。 arraylist:在数据的插入和删除方面速度不佳,但是在随意提取方面较快

    泛型

    泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。

    一般用集合的时候都会用到泛型,泛型就是给集合加一个类型约束。 它可以是String、可以是Object 泛型不支持基本类型int,请使用包装器类型 Integer

    创建泛型:

    List<String> list = new ArrayList<>();

    这样这个集合里面只能加String类型。

    以上就是“Java Collection集合的ArrayList和HashSet怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注本站行业资讯频道。

    《Java Collection集合的ArrayList和HashSet怎么用.doc》

    下载本文的Word格式文档,以方便收藏与打印。