java集合框架问题!!!
发布网友
发布时间:2022-02-28 14:23
我来回答
共3个回答
热心网友
时间:2022-02-28 15:53
往Map里put时候错了,要求是put(班级名,班级的List),也就是
map.put("三年级一班", studentList);
然后读取你输入的内容,查找map,其实就是get
List<String> list = map.get("三年级一班");
最后,把找到的list内容用循环打印出来就可以了。
另外,创建HashMap的时候应该指定泛型。
热心网友
时间:2022-02-28 17:11
map 里边的key不可以重复,如果重复put相同的key对应不同的值,会覆盖之前的,所以最后只有黄蓉一个人,您可以将map中放置,前提是studentList中已放入学生信息例如
Map<String,Student> map = new HashMap();
for(Student s:sutdentList){
map.put(s.getName,s);
}
这样再便利map就可以出现所有的学生信息了
热心网友
时间:2022-02-28 18:45
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
class Student{
private String name;
private int age;
private String sex;
public Student(String name,int age,String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
public class Test24 {
public static void main(String args[]){
Student student1 = new Student("张三丰", 7, "男");
Student student2 = new Student("杨过", 9, "男");
Student student3 = new Student("黄蓉", 8, "女");
ArrayList<Student> studentsOfOne = new ArrayList<Student>();
studentsOfOne.add(student1);
studentsOfOne.add(student2);
studentsOfOne.add(student3);
Map<String, ArrayList<Student>> map = new HashMap<String,ArrayList<Student>>();
map.put("三年级一班", studentsOfOne);
System.out.println("输入班级名称:");
Scanner input = new Scanner(System.in);
String className = input.next();
ArrayList<Student> outStudents = map.get(className);
System.out.println(className+"学生列表:");
for(int i = 0 ; i < outStudents.size(); i++){
Student temp = outStudents.get(i);
String name = temp.getName();
if(name.length()==3){
System.out.println(temp.getName()+" "+temp.getSex()+" "+temp.getAge());
}else{
System.out.println(temp.getName()+" "+temp.getSex()+" "+temp.getAge());
}
}
input.close();
}
}
结果:
输入班级名称:
三年级一班
三年级一班学生列表:
张三丰 男 7
杨过 男 9
黄蓉 女 8
2019Java面试宝典系列|集合框架篇3
在Java面试中,集合框架的知识至关重要。以下是关于几个关键集合类的对比和特性总结:1. ArrayList与Vector的区别ArrayList是线程不安全的,适合单线程环境,效率较高,增长策略为初始容量的1.5倍;Vector是线程安全的,适合多线程,但效率较低,增长为初始容量的两倍。2. HashMap与HashtableHashMap是非线...
JAVA 集合框架(二) List集合详解和常用方法
Java集合框架(二) - List集合详解与常用方法在Java的集合框架中,List扮演着关键的角色,它作为java.util包下的接口,专为表示有序且可包含重复元素的集合设计。List不同于Collection接口,它提供了额外的特有功能。以下是List集合的一些核心特性及常用操作方法:添加元素到指定位置:List提供了将元素插入到...
JAVA集合框架primitive容器
在Java集合框架中,容器类,如ArrayList或HashMap,设计之初是用于存储对象引用的。这意味着它们只能容纳Object类型的元素。然而,数组则有所不同,除了可以存储Object的引用,还能直接容纳基本类型(primitive types)的值,如int,double等。这可能导致在将primitive值放入容器时产生一些不便,因为用Integer或Do...
JAVA 集合框架(三) Set集合详解和常用方法
Set集合是Java集合框架下的一个接口,它继承自Collection接口,用于表示不允许包含重复元素的集合。集合中的元素无序且唯一,即使添加等效的对象也不会重复存储。本篇文章将深入探讨Set集合的特性,主要实现类HashSet、TreeSet、LinkedHashSet的构造函数与特有方法。HashSet集合特点主要体现在它使用哈希表作为底...
JAVA集合框架复制一个数组
在Java的标准类库中,System.arraycopy()是一个非常实用的静态方法,它在数组复制操作中展现出优越性,尤其是在性能上比传统的for循环更为高效。这个方法覆盖了多种数据类型,因此可以适应不同类型数组的复制需求。无论是对象数组还是基本数据类型数组,System.arraycopy()都能进行复制。然而,对于对象数组...
JAVA集合框架 试题?
/*1: 假如有以下email数据“aa@sohu.com,bb@163.com,cc@sina.com,..”现需要把email中的用户部分和邮件地址部分分离,分离后以键值对应的方式放入HashMap?/ String[] emails={"aa@sohu.com","bb@163.com","cc@sina.com"};Map<String, String> emailsMap=new HashMap<String, String>()...
什么是java中的集合框架
集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。接口:即表示集合的抽象数据类型。接口提供了让我们对集合中所表示的内容进行单独操作的可能。实现:也就是集合框架中接口的具体实现。实际它们就是那些可复用的数据...
JAVA集合框架的特点及实现原理简介
Java集合框架是编程中处理数据集合的核心组件,它提供了多种数据结构,如列表、集合、映射等,各具特点和实现原理。首先,集合框架包括List(如ArrayList、Vector和LinkedList)和Set(如HashSet、LinkedHashSet和TreeSet)等。List是有序且允许重复的,ArrayList和Vector基于数组,增删操作相对较慢,但查询速度...
Java集合类框架的最佳实践有哪些?
最佳实践有:根据应用的需要正确选择要使用的集合的类型对性能非常重要,比如:假如元素的大小是固定的,而且能事先知道,我们就应该用Array而不是ArrayList。有些集合类允许指定初始容量。因此,如果我们能估计出存储的元素的数目,我们可以设置初始容量来避免重新计算hash值或者是扩容。为了类型安全,可读性和...
java中集合、集合类和集合框架是什么意思?
都是在讲集合,就全是和集合有关的。。。框架也就是某些类的全称。。。集合是说拥有集合属性的定义 集合类,是一些实现类。。。