结合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);
}
}