首页 > 编程语言 >60.《Java集合框架-List-Set-Map》

60.《Java集合框架-List-Set-Map》

时间:2024-09-16 20:14:25浏览次数:8  
标签:Map Set Java 高远 add Student import new public

此篇所写 不知道你们是否在网页开发的时候 当看到要写Map集合什么HashMap之类的突然蒙了 虽然之前学过 突然让你调用方法 懵了 所以在此总结一下 以备后需

image

对比数组 可存储任意类型对象 且存储长度是可以变的 集合类乃内存层面对数据进行存储 数据库是持久层 断电后仍长期存在

都来自这个包:java.util.*

List:

package List;

import pojo.Student;

import java.util.ArrayList;

public class ArrayListTest {
    public static void main(String[] args) {
    /*
     *  有序不唯一
     *  ArrayList适合元素的查找
     * */
        ArrayList<Object> one = new ArrayList<>();
        one.add("高远");
        one.add("哈哈");
        one.add("文雅");
        one.add("文雅");
        Student student = new Student(1,"草地");
        one.add(student);
        System.out.println(one);
        System.out.println(one.get(0));
    }
}

package List;

import pojo.Student;

import java.util.Arrays;
import java.util.LinkedList;

public class LinkedListTest {
    public static void main(String[] args) {
        /*
         * 有序不唯一
         * LinkedList适合大量的增删操作
         * foreach循环不可以对元素进行修改
         */
        LinkedList<Object> one = new LinkedList<>();
        Student student = new Student(1, "高远");
        one.add(student);
        one.add("student");
        one.add("哈哈");
        one.add("哈哈");
        System.out.println(one);
        for (Object o : one) {
            System.out.println(o);
        }
    }
}


Set:

package Set;

import pojo.Student;

import java.util.HashSet;

public class HashSetTest {
    public static void main(String[] args) {
        /*
         *  无序唯一
         *  HashSet add()->调用hashCode()方法->根据元素的哈希值计算元素存储位置->判断是否有元素/是否相等
         *  若使用Student对象 必须重写hashCode()和equals()方法
         */

        HashSet<Object> one = new HashSet<>();
        one.add("ok");
        one.add("ok");
        one.add("高远");
        System.out.println(one);

        HashSet<Object> two = new HashSet<>();
        Student student1 = new Student(1, "高远");
        Student student2 = new Student(2, "哈哈");
        Student student3 = new Student(2, "高远");
        two.add(student1);
        two.add(student2);
        two.add(student3);
        System.out.println(two);
    }
}

package Set;

import java.util.LinkedHashSet;

public class LinkedHashSetTest {
    public static void main(String[] args) {
        /*
         * 唯一 LinkedHashSet让存取顺序一致(有序)
         */
        LinkedHashSet<Object> one = new LinkedHashSet<>();
        one.add("高远");
        one.add("哈哈");
        one.add("ok");
        one.add("高远");
        System.out.println(one);
    }
}

package Set;

import java.util.TreeSet;

public class TreeSetTest {
    public static void main(String[] args) {
        /*
         * 无序 唯一
         * TreeSet利用二叉树存储元素 来去掉重复元素
         */
        TreeSet<Object> one = new TreeSet<>();
        one.add("高远");
        one.add("哈哈");
        one.add("高远");
        System.out.println(one);
    }
}


Map:

package Map;

import pojo.Student;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class HashMapTest {
    public static void main(String[] args) {
        /*
         * 键唯一 值可以重复
         * 若键相同 值覆盖 HashMap 元素无序
         */
        HashMap<String, Object> one = new HashMap<>();
        one.put("1", new Student(1, "高远"));
        one.put("2", new Student(2, "哈哈"));
        one.put("3", new Student(3, "白台"));
        one.put("4", new Student(1, "高远"));
        one.put("1", new Student(4, "高远2"));

        Set<String> keySet = one.keySet();
        Iterator<String> it = keySet.iterator();
        while (it.hasNext()) {
            String key = it.next();
            Object value = one.get(key);
            System.out.println(key + " " + value);
        }
    }
}

package Map;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

public class LinkedHashMapTest {
    public static void main(String[] args) {
        /*
         * 键唯一 值可以重复
         * 若键相同 值覆盖
         * LinkedHashMap有序(存入顺序)
         */
        Map one = new HashMap<>();
        one.put("2", "高远");
        one.put("4", "哈哈");
        one.put("3", "高远");
        System.out.println(one);
        Map two = new LinkedHashMap();
        two.put("2", "高远");
        two.put("4", "哈哈");
        two.put("3", "高远");
        two.put("2", "高远2");
        System.out.println(two);
    }
}

package Map;


import java.util.Map;
import java.util.TreeMap;

public class TreeMapTest {
    public static void main(String[] args) {
        /*
         * 键唯一 值可以重复
         * 若键相同 值覆盖
         * TreeMap 键有序
         */
        Map one = new TreeMap<>();
        one.put(2, "高远");
        one.put(5, "哈哈");
        one.put(3, "ok");
        one.put(2, "高远2");
        System.out.println(one);
    }
}

还有一个比较常用的Arrays工具类:
参考 https://www.cnblogs.com/soberw/p/15876454.html#asList_28

image

标签:Map,Set,Java,高远,add,Student,import,new,public
From: https://www.cnblogs.com/gaodiyuanjin/p/18416552

相关文章

  • java的方法和数组
    什么是方法呢?就类似c语言的函数                            返回类型 方法名   形式参数列表方法名最好使用小驼峰的形式,在java中方法不可以嵌套使用, 方法的调用:就是在main方法里面写上调用的方法名加......
  • 重生之我在Java世界------学单例设计模式
    什么是单例设计模式?单例模式是面向对象编程中最简单却又最常用的设计模式之一。它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。本文将深入探讨单例模式的原理、常见实现方法、优缺点,以及在使用过程中可能遇到的陷阱。单例模式的核心原理单例模式的实现主要......
  • 基于springboot的图书商城管理系统。Javaee项目,springboot项目。
    演示视频:基于springboot的图书商城管理系统。Javaee项目,springboot项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Mybatis+Maven+Layui+Thymeleaf来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统。界面简洁......
  • Springboot宠物领养管理系统。Javaee项目。Springboot项目。
    演示视频:Springboot宠物领养管理系统。Javaee项目。Springboot项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Mybatis+Vue+Maven来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统。界面简洁,操作简单。系统......
  • 基于springboot的家庭理财管理系统。Javaee项目,springboot项目。
    演示视频:基于springboot的家庭理财管理系统。Javaee项目,springboot项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Maven+Layui来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统。分为系统管理员,家主,用户三类身......
  • Springboot+vue汽车销售管理系统。Javaee项目,springboot vue前后端分离项目。
    演示视频:Springboot+vue汽车销售管理系统。Javaee项目,springbootvue前后端分离项目。系统介绍:本文设计了一个基于Springboot+vue的前后端分离的汽车销售管理系统,采用M(model)V(view)C(controller)三层体系结构,通过SpringBoot+Vue+maven+IDEA来实现。有经理和销售两种角......
  • Javaweb之SpringBootWeb案例之阿里云OSS服务集成的详细解析
     2.3.3集成阿里云oss对象存储服务的准备工作以及入门程序我们都已经完成了,接下来我们就需要在案例当中集成oss对象存储服务,来存储和管理案例中上传的图片。编辑在新增员工的时候,上传员工的图像,而之所以需要上传员工的图像,是因为将来我们需要在系统页面当中访问并展示员工的图像。......
  • java毕业设计——基于java+Mybatis的仓库管理系统设计与实现(全套源码+配套论文)——仓
    基于java+Mybatis的仓库管理系统设计与实现(毕业论文+程序源码)大家好,今天给大家介绍基于java+Mybatis的仓库管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。文章目录:基于java+Mybatis的仓库管理系统设计与实现(毕业论文+程序源码)1、项目简介2、资源......
  • java毕业设计——基于java+Spring的新闻发布及管理系统设计与实现(全套源码+配套论文)—
    基于java+Spring的新闻发布及管理系统设计与实现(毕业论文+程序源码)大家好,今天给大家介绍基于java+Spring的新闻发布及管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。文章目录:基于java+Spring的新闻发布及管理系统设计与实现(毕业论文+程序源码)1、......
  • springboot基于java的高校电子图书馆的大数据平台规划与设计(源码+vue+scrapy+hive+可
    收藏关注不迷路!!......