java——————ArrayList,HashSet,HashMap

本文介绍了Java中的三种集合类:ArrayList、HashSet和HashMap。ArrayList是一个基于数组的列表,支持添加、删除、修改和遍历操作;HashSet是一个不允许重复元素的集合,基于HashMap实现;HashMap则用于存储键值对,不允许键重复,提供了多种操作方法。文章通过示例代码展示了它们的使用方法和区别。
摘要由CSDN通过智能技术生成

java——————ArrayList,HashSet,HashMap

ArrayList

ArrayList 是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。

遍历ArrayList元素时先通过范式确认元素类型

img

 ArrayList<String> sites = **new** ArrayList<String>();

System.out.println(sites.get(1)); *// 访问第二个元素*

sites.set(2, "Wiki"); *// 第一个参数为索引位置,第二个为要修改的值*

 sites.remove(3); *// 删除第四个元素*

System.out.println(sites.size());//计算 ArrayList 中的元素数量

HashSet

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

HashSet没有get

img

HashSet<String> sites = new HashSet<String>();
sites.add("Runoob");     // 重复的元素不会被添加
sites.remove("Taobao");  // 删除元素,删除成功返回 true,否则为 false
System.out.println(sites.size());//计算 ArrayList 中的元素数量
System.out.println(sites.contains("Taobao"));//确认元素是否存在

写入测试

package DEMO;

import java.lang.ref.SoftReference;
import java.util.ArrayList;
import java.util.HashSet;

public class JAVA01 {
    //测试ArrayList和HashSet的区别
    //创建ArrayList和HashSet数组并测试存入相同和不同数据
    //估计hashset就是改版的ArrayList,多了一个重复不写入,避免数据冗余
    public static void main(String[] args) {
        //创建 ArrayList al
        ArrayList<String> al = new ArrayList<String>();
        //创建HashSet hs
        HashSet<String> hs  =new HashSet<String>();
        //arraylist 根据key值取出vulue
        al.add("一号");
        al.add("一号");
        al.add("二号");
        al.add("三号");
        al.add("三号");
        al.add("四号");
        al.add("五号");
        //hashset 写入清除冗余
        hs.add("一号");
        hs.add("一号");
        hs.add("一号");
        hs.add("二号");
        hs.add("三号");
        hs.add("三号");
        //遍历al
        for (String i : al){
            System.out.println(i);
        }
        System.out.println("ArrayList的长度为:"+al.size());
        System.out.println("——————————ArrayList遍历完成");
        //遍历hs
        for (String i :hs){
            System.out.println(i);
        }
        System.out.println("HashSet的长度为:"+hs.size());
        System.out.println("————————————HashSet数组遍历完成");
    }
}

HashMap

两两存值,前为key后为value

clear();清理所有数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QdJUeXOh-1616485268324)(https://static.runoob.com/images/mix/java-map.svg)]

package DEMO;

import java.lang.ref.SoftReference;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;

public class JAVA01 {
    //测试ArrayList和HashSet的区别
    //创建ArrayList和HashSet数组并测试存入相同和不同数据
    //估计hashset就是改版的ArrayList,多了一个重复不写入,避免数据冗余
    public static void main(String[] args) {
        //ArrayList HashSet 无法指定key的类型,但是可以指定value的类型
//        ArrayList<Integer> al = new ArrayList<Integer>();
//        al.add("早上好");
//        al.add(222);

//        HashSet<Integer> hs = new HashSet<Integer>();
//        hs.add("早上好");
//        hs.add(2);

        HashMap<String,String> hm  = new HashMap<String,String>();
//        hm.put(1,"早上好");
        hm.put("1","早上好");
        hm.put("1","早上好");//重复不写入
        hm.put("2","中午好");
        hm.put("3","晚上好");
//        System.out.println(hm);
        //运行结果:{1=早上好, 2=中午好, 3=晚上好}
//        System.out.println(hm.get("1"));//:早上好------根据key值匹配value


        System.out.println("keyset"+hm.keySet());
        //迭代输出key和value值
        for(String s:hm.keySet()){
            System.out.println("HashMap的key值为:"+s+"HashMap的values值为:"+hm.get(s));
        }
        //输出所有value值
        for (String s:hm.values()){
            System.out.println(s+",");
        }
    }
}

HasMap的取值

package DEMO;

import java.util.*;

public class HasMap {
    public static void main(String[] args) {
        HashMap<Integer,Student> hm = new HashMap<Integer,Student>();
        Student s1 = new Student("one",1);
        Student s2 = new Student("two",2);
        Student s3 = new Student("three",3);
        Student s4 = new Student("four",4);
        hm.put(1,s1);
        hm.put(2,s2);
        hm.put(3,s3);
        hm.put(4,s4);
        Set<Integer> studentSet =  hm.keySet();
        for (Integer i:studentSet){
            System.out.println("取key值:"+i);
        }
        System.out.println("————————————————————————————————");
        Collection<Student> stu =  hm.values();
        Iterator<Student> itstudent  = stu.iterator();
        while (itstudent.hasNext()){
            System.out.println("取value值:"+itstudent.next());
        }
        System.out.println("————————————————————————————————");
        Set<Map.Entry<Integer,Student>> kv =  hm.entrySet();
        Iterator<Map.Entry<Integer,Student>> it =kv.iterator();
        while (it.hasNext()){
            System.out.println("取key值和value值:"+it.next());
        }
    }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值