Java的顺序表与散列表

结合Java语言与数据结构学科内容,利用Java语言实现数据结构中的顺序表(ArrayList)与散列表(Hashmap),这两种数据结构能够对数据进行存取、删减等操作。

之前练习的代码, 可以参考下
如果有帮助, 辛苦采纳谢谢


import java.util.ArrayList;

public class ListDemo {
    public static void main(String[] args) {
        //List在Collection的基础上添加了  用索引操作的方法
        ArrayList<String> list = new ArrayList<>();
        list.add("白展堂");
        list.add("郭芙蓉");
        list.add("莫小贝");
        list.add("李大嘴");

        //1.add(int index , E e)
        list.add(2,"吕秀才");
        System.out.println("添加元素后:"+list);

        //2.remove(int index) 是List中的方法 返回删除的内容    remove(obj) 是Collection里的方法
        String s = list.remove(3);
        System.out.println("删除的元素是:"+s);
        System.out.println("删除元素后:"+list);

        //3.set(int index , E e) 修改索引值的内容
        String re = list.set(3,"佟湘玉");
        System.out.println("被修改的元素是:"+re);
        System.out.println("修改元素后:"+list);

        //4.get(int index)
        String s2=list.get(list.size()-1);
        System.out.println("查到末尾元素是:"+s2);
    }
}
import java.util.Collection;
import java.util.HashMap;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap<String,Integer> hashMap = new HashMap<>();
        //1.添加  向hashmap中添加数据
        hashMap.put("张三",29);
        hashMap.put("李四",27);
        hashMap.put("赵六",31);
        //返回添加后  被覆盖的值内容
        Integer i1 = hashMap.put("王五",25);
        System.out.println(i1);
        //hashmap底层是哈希表, 存入取出的顺序不一定一样

        //hashmap重写了toString方法, 可以直接打印
        System.out.println("添加元素以后,map的元素有:"+hashMap);
        //1.添加重复key内容 , 相当于修改值  返回被修改的值内容
        hashMap.put("李四",18);
        System.out.println("修改了李四的年龄后, map中的元素有:"+hashMap);

        //2.remove(key) 根据key删除 返回对应的值内容
        //  remove(key, value)  根据key和value删除,  返回boolean类型的删除结果
        boolean result = hashMap.remove("李四", 30);
        System.out.println("删除map中年龄30岁的李四, 是否查询到并删除:"+result);

        Integer i2 = hashMap.remove("李四");
        System.out.println("删除李四和对应的值:"+i2);

        //3.get(key)
        Integer i3= hashMap.get("王五");
        System.out.println("找到key为王五的内容值为:"+i3);


        //4.replace(key, value) 修改key对应的value值  同put方法 , 但无返回值
        //  replace(key, oldValue, newValue) 返回修改以后的boolean结果
        hashMap.replace("张三",15);
        System.out.println("修改后的map:"+hashMap);

        boolean result2 = hashMap.replace("赵六", 31, 20);
        System.out.println("将31岁的赵六年龄修改为20, 返回结果:"+result2);
        System.out.println("修改后的map:"+hashMap);

        boolean re = hashMap.containsKey("张三");
        System.out.println(re);

        boolean r2 = hashMap.containsValue(20);
        System.out.println(r2);

        Collection<Integer> values = hashMap.values();
        System.out.println(values);

    }
}