java集合题目带答案解析(java 集合问题)

本文目录
- java 集合问题
- java集合题目,求助
- 关于java中的集合类java.util.Arraylist,以下说法正确的是
- 集合(HashMap)题目(java).
- 1道java笔试题,急求解,谢谢
- 几道JAVA题目,求好心人给下答案,感激不尽
- java 选择题
- java 小题目.求解释. 答案为B 谢谢各位了
- JAVA数组集合题目求组,求助!
- Java 编程基础题:io流和集合综合相关的题目不会做,哪位大神来看一下
java 集合问题
private List《Employee》 list= new ArrayList《Employee》();
private 表示私有
List是列表,是一个接口,《》里的元素表示这个列表用于存放什么类型的元素,
new ArrayList《》() 为列表分配空间,括号内不写大小,则采用默认值对它进行分配,ArrayList是一个实现了List接口的类。因为为List《》分配空间的时候要用实现了它的类
java集合题目,求助
// Demo7.java
package com.demo7;
import java.util.ArrayList;
import java.util.Comparator;
public class Demo7 {
public static void main(String args) {
ArrayList《Student》 list = new ArrayList《Student》();
Student student1 = new Student();
student1.setId("1001");
student1.setName("张三");
student1.setGender("男");
student1.setAge(18);
list.add(student1);
Student student2 = new Student();
student2.setId("1002");
student2.setName("李四");
student2.setGender("女");
student2.setAge(17);
list.add(student2);
Student student3 = new Student();
student3.setId("1003");
student3.setName("王五");
student3.setGender("男");
student3.setAge(20);
list.add(student3);
Student student4 = new Student();
student4.setId("1004");
student4.setName("牛七");
student4.setGender("女");
student4.setAge(23);
list.add(student4);
Student student5 = new Student();
student5.setId("1005");
student5.setName("马八");
student5.setGender("男");
student5.setAge(28);
list.add(student5);
// 判断张三同学是否存在
boolean exists = list.stream().anyMatch(r -》 r.getName() == "张三");
System.out.println(exists ? "张三同学存在。" : "张三同学不存在。");
// 按年龄排序
list.sort(new Comparator《Student》() {
@Override
public int compare(Student arg0, Student arg1) {
return new Integer(arg0.getAge()).compareTo(new Integer(arg1.getAge()));
}
});
for(Student item : list) {
System.out.println(item.getId() + "\t" + item.getName() + "\t" + item.getGender() + "\t" + item.getAge());
}
}
}
// Student.java
package com.demo7;
// 学生类
public class Student {
// 学号
private String id;
// 姓名
private String name;
// 性别
private String gender;
// 年龄
private int age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
关于java中的集合类java.util.Arraylist,以下说法正确的是
D是正确答案。A,这个集合可以通过索引来读取内容,这当然是有序的。B,这是通过索引来获取的,HashMap才是通过键来获取。C,addFirst()方法是LinkedList类的方法。LinkedList在增删的效率高,Arraylist执行遍历操作时,效率比较高,所以D正确
集合(HashMap)题目(java).
Map《String, Integer》 map = new HashMap《String, Integer》();
map.put("a", 100);
map.put("b", 90);
map.put("c", 80);
Set《String》 set = map.keySet();
for (String s : set) {
System.out.println(s + "," + map.get(s));
}
1道java笔试题,急求解,谢谢
(1)
满足交换律。将运算表中的运算结果作为一个矩阵,可以知道该矩阵是一个对称矩阵,所以满足交换律。或者对每一对元素都都进行检验也可以知道是满足交换律的。
(2)
不满足结合律。举个范例:
(b*c)*d=a*d=d
b*(c*d)=b*b=b
b不等于d,所以不满足结合律。
(3)
有单位元。就是1呀。
因为对于任意元素x都有:1*x=x.
(4)
没有生成元。因为每两个相同的元素作用都是本身,不管有多少个元素作用都不可能等于其他元素,而集合中式不可能有重复的元素的。
几道JAVA题目,求好心人给下答案,感激不尽
1、public static void main(String args)
2、public finall static
3、3
4、抽象类
5、implements
6、类:一个包含属性、方法,使用class关键字定义
对象:创建对象必须使用new关键字,对象其实在内存中存储的是类的引用地址。
7、try是可能发生异常的内容;
catch是发生异常后要处理的代码;
finally是始终执行的,比如关闭资源等。
8、
public class Demo {
//小明今年12岁,他母亲比他大20岁。编程计算多少年后他母亲的年龄是小明的2倍。
public static void main(String args) {
System.out.println(getYeah());
}
public static int getYeah(){
int xmAge = 12,mqAge = 20,yeah = 0;
while(true){
if(mqAge / 2 == xmAge){
return yeah;
}
mqAge++;
yeah++;
}
}
}
9、
public class Demo {
public static void main(String args) {
new Thread(new Piao()).start();
new Thread(new Piao()).start();
new Thread(new Piao()).start();
new Thread(new Piao()).start();
}
}
class Piao implements Runnable{
private static int piao = 1;
public void run(){
while(true){
synchronized(Piao.class){
if(piao 》 100){
System.exit(0);
}
System.out.println(Thread.currentThread().getName()+"出票:" + piao + "号");
piao++;
}
}
}
}
java 选择题
Collection包含 List、Set集合
答案是BD选项,他们都是List和Set的子集合;
其中A、C选项是属于Map接口的子集合
java 小题目.求解释. 答案为B 谢谢各位了
public class VariTest
{
public VariTest()
{
}
static void change(ArrayList《Integer》 arraylist)
{
arraylist.add(2);
arraylist = new ArrayList《Integer》();
arraylist.add(3);
arraylist.add(4);
System.out.println("print方法内"+arraylist.get(1));
}
public static void main(String args)
{
ArrayList《Integer》 al = new ArrayList《Integer》();
al.add(1);
change(al);
System.out.println(al);
System.out.println(al.get(1));
}
}
看结果:
print方法内4
2
过程我试着解释一下,不一定说得清楚。
java中传参时形参为java基本类型时传递的就是值,形参不是基本类型传递的就是地址。上面的形参是一个ArrayList,传递的当然是地址了。
程序先执行main方法,ArrayList《Integer》 al = new ArrayList《Integer》();时,会为这个数组分配一片内存,al就指向了这篇内存的首地址。
然后change(al);方法 static void change(ArrayList《Integer》 arraylist)中arraylist形参就与al实参指向了同一个地址,则 arraylist.add(2);对对原来的数组也是有作用的。
arraylist = new ArrayList《Integer》();时,arraylist 就指向了另一个新的地址,而al的指向还是没变化的,这就是 arraylist.add(3);arraylist.add(4);不会影响al的原因。
注意实参和形参。
JAVA数组集合题目求组,求助!
有什么不懂可以追问
Student.java
public class Student {
String id;
String name;
String sex;
String age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", sex=" + sex
+ ", age=" + age + "]";
}
}Main.java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class Main {
static String strMain = "---------------------------\r\n请根据需求回复序号(\"EXIT\"退出):\r\n\r\n1.添加学生信息\r\n2.修改学生信息\r\n3.删除学生信息\r\n4.根据学号查看信息\r\n5.获取所有学生信息\r\n";
public static void main(String args) {
openStudentSys();
}
private static List《Student》 mList;
private static void openStudentSys() {
try {
mList = new ArrayList《Student》();
while (true) {
System.out.println(strMain);
Scanner scanner = new Scanner(System.in);
String number = scanner.next();
if ("exit".equalsIgnoreCase(number)) {
scanner.close();
System.exit(0);
}
switch (Integer.parseInt(number)) {
case 1:// 添加学生信息
addStudent(scanner, false);
break;
case 2:// 修改学生信息
modifyStudent(scanner);
break;
case 3:// 删除学生信息
deleteStudent(scanner);
break;
case 4:// 查看某位学号信息
System.out.println("输入学号:");
String id = scanner.next();
if (0 == mList.size() || !isExistence(id)) {
System.out.println("没有此学号信息!");
break;
}
Iterator《Student》 iterator = mList.iterator();
StringBuilder builder = new StringBuilder();
while (iterator.hasNext()) {
Student info = iterator.next();
if (id.equalsIgnoreCase(info.id)) {
builder.append(info.toString());
}
}
System.out.println(builder.toString());
break;
case 5:// 查看所有学生信息
if (0 == mList.size()) {
System.out.println("没有任何学生信息!!");
break;
}
Iterator《Student》 iterator2 = mList.iterator();
StringBuilder builder2 = new StringBuilder();
int count = 1;
while (iterator2.hasNext()) {
builder2.append(count + " - "
+ (iterator2.next().toString()));
count++;
}
System.out.println(builder2.toString());
break;
default:
break;
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static void deleteStudent(Scanner scanner) {
// TODO Auto-generated method stub
System.out.println("请输入需要删除的学号:");
try {
String id = scanner.next();
boolean idExistence = isExistence(id);
if (idExistence) {
Iterator《Student》 iterator = mList.iterator();
while (iterator.hasNext()) {
String id2 = iterator.next().id;
if (id2.equalsIgnoreCase(id)) {
iterator.remove();
System.out.println(id + " 学号已删除。");
}
}
} else {
System.out.println("学号 " + id + " 不存在!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static void modifyStudent(Scanner scanner) {
// TODO Auto-generated method stub
System.out.println("请输入需要修改的学号:");
try {
String id = scanner.next();
boolean idExistence = isExistence(id);
if (!idExistence) {
System.out.println("该学号不存在,是否添加?(Y/N)");
String isAdd = scanner.next();
if ("y".equalsIgnoreCase(isAdd)) {
addStudent(scanner, false);
} else {
return;
}
} else {
addStudent(scanner, true);
}
} catch (Exception e) {
System.out.println("修改失败,是否重试?(Y/N)");
String yn = scanner.next();
if ("y".equalsIgnoreCase(yn)) {
modifyStudent(scanner);
} else {
return;
}
}
}
private static boolean isExistence(String id) {
boolean result = false;
if ("".equalsIgnoreCase(id) || null == id) {
result = false;
} else {
Iterator《Student》 iterator = mList.iterator();
while (iterator.hasNext()) {
String id2 = iterator.next().id;
if (id2.equalsIgnoreCase(id)) {
result = true;
}
}
}
return result;
}
private static void addStudent(Scanner scanner, boolean isModify) {
Student student = new Student();
System.out.println("请输入学生学号:");
String id = scanner.next();
if (!isModify && isExistence(id)) {
System.out.println("学号已存在,不能添加");
addStudent(scanner, false);
}
System.out.println("请输入学生姓名:");
String name = scanner.next();
System.out.println("请输入学生性别:");
String sex = scanner.next();
System.out.println("请输入学生年龄:");
String age = scanner.next();
student.setId(id);
student.setName(name);
student.setSex(sex);
student.setAge(age);
mList.add(student);
if (isModify) {
System.out.println("已成功修改 " + id);
} else {
System.out.println("已成功添加 " + id);
}
}
}
Java 编程基础题:io流和集合综合相关的题目不会做,哪位大神来看一下
此需求的关键点主要是两个:
1、IO读取文本信息;
2、TreeSet的排序问题。
解决过程如下:
首先通过TreeSet(Comparator《? super E》 comparator) 构造方法指定TreeSet的比较器进行排序,而创建自己的实现比较器。
package test.treeset;
import java.util.Comparator;
public class MyComparator implements Comparator《Student》 {
@Override
public int compare(Student stu1, Student stu2) {
if (stu1.getScore() 》 stu2.getScore()) {
return -1;
}else if (stu1.getScore() == stu2.getScore()) {
if (stu1.getAge() 》 stu2.getAge()) {
return -1;
}else if (stu1.getAge() == stu2.getAge()) {
return 0;
}else {
return 1;
}
}else {
return 1;
}
}
}
创建学生Bean类
package test.treeset;
import java.io.Serializable;
public class Student implements Serializable {
private String name;
private int age;
private int score;
public Student(String name, int age, int score) {
this.name = name;
this.age = age;
this.score = score;
}
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 int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public String toString() {
return name+"-"+age+"-"+score;
}
}
创建实现类,实现对文件的读取已经将读取内容实例化入Student中,添加入TreeSet中排序,之后顺序打印TreeSet数据。
package test.treeset;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.TreeSet;
/**
* 已知项目根目录下student_info.txt文件中有如下数据:(姓名-年龄-总分)
* lucy-28-98
* lily-23-97
* robt-25-100
* wili-15-100
* klin-29-93搜索
* 运用IO技术获取将该文件中的数据分别封装成5个Student(姓名为String类型,年龄为int类型,总分为int类型 )对象存入TreeSet集合中(需要自己定义Student类)
* 要求:
* 根据学生的总分进行排序(降序),如果分数相同则比较年龄,年龄较大的排在前面。
* 按照排序完的顺序将所有信息打印到控制台上:
* 打印格式如下:
* robt-25-100
* wili-15-100
* lucy-28-98
* lily-23-97
* klin-29-93
*/
public class IoReadTest {
public static void main(String args) {
TreeSet《Student》 set = new TreeSet《Student》(new MyComparator());
try {
FileInputStream fis = new FileInputStream(new File("D:\\student_info.txt"));
InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
BufferedReader br = new BufferedReader(isr);
String str = "";
while ((str = br.readLine()) != null) {
String info = str.split("-");
String name = info;
int age = Integer.parseInt(info);
int score = Integer.parseInt(info);
Student student = new Student(name,age,score);
set.add(student);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
for (Student student : set) {
System.out.println(student);
}
}
}
运行后输出结果
robt-25-100
wili-15-100
lucy-28-98
lily-23-97
klin-29-93

更多文章:
跷二郎腿太低好吗?想要通过贴墙站改正二郎腿影响的话,有哪些要点需要注意
2026年10月11日 05:10
易语言点击js按钮(易语言网页填表怎样点击链接为“javascript:void(0)“的按钮)
2026年10月11日 03:00
compare with造句(用compared with和compared to造句)
2026年10月10日 23:30
tensorflow与keras对应版本(为什么tensorflow2.8没有keras)
2026年10月10日 22:10
maven仓库jar网站(如何在maven仓库中添加jar包)
2026年10月10日 19:50






