问答1 问答5 问答50 问答500 问答1000

java问题,为什么打印不出我想要的结果,还是有很多重复对象。

提问网友 发布时间:2023-11-19 06:15
声明声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:1656858193@qq.com
4个回答
热心网友 回答时间:2024-05-16 15:20
/**
将自定义的对象作为元素存入ArrayList集合中,并去除重复元素
比如:存人对象.把同名同年龄的视为同一对象,是重复元素
*/
import java.util.*;
class test {
public static void main(String[] args) {
Person p0 = new Person("gekui", 22);
Person p1 = new Person("gekui", 22);
Person p2 = new Person("gekui", 22);
Person p3 = new Person("gekui", 23);
Person p4 = new Person("wf", 22);
Person p5 = new Person("gekui", 22);
ArrayList<Person> al = new ArrayList<Person>();
al.add(p0);
al.add(p1);
al.add(p2);
al.add(p3);
al.add(p4);
al.add(p5);
sop(al);
sop(removeSameP(al));
}
public static List removeSameP(ArrayList<Person> al) {
ArrayList newAl = new ArrayList();
HashMap<String,Person> map=new HashMap<String,Person>();
for (int i = 0; i < al.size(); i++) {
Person p=map.get(al.get(i).getName()+al.get(i).getAge());
if(p ==null){
map.put(al.get(i).getName()+al.get(i).getAge(), al.get(i));
newAl.add(al.get(i));
}
}
return newAl;

}
public static void sop(Object obj) {
System.out.println(obj);
}
}
热心网友 回答时间:2024-05-16 15:21
字符串比较的时候不要用!=,要用equals方法来比较。
修改
if(p.getName()!=newP.getName()||p.getAge()!=newP.getAge())
newIt.add(obj);
变为
if(!p.getName().equals(newP.getName()) && p.getAge()!=newP.getAge())
newIt.add(obj);
热心网友 回答时间:2024-05-16 15:21
if(p.getName()!=newP.getName()||p.getAge()!=newP.getAge())
这个比较逻辑错!
==>
p.getName().equals(newP.getName() )追问改成这个吗
if(!p.getName().equals(newP.getName()) && p.getAge()!=newP.getAge())

但是运行完之后 结果还是不对

热心网友 回答时间:2024-05-16 15:22
equals方法比较

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

有什么方法可以让一直不被封? 被禁用功能被限制了要怎么办?1 已被封禁怎么办36 被禁用怎么解除啊?12 那位大神告诉我玩GTA5加内存条不卡要几G 玩gta5内存条的作用大吗2 笔记本要加多少内存条才可以玩gta52 一个手机上怎样下载两个? 双卡双待手机怎么下载两个?1 什么是反时限接地过流保护4 怎样才能申请一个啊? 想传一两G的视频文件给远方朋友,电脑需要下载什么可以做到? java中 List&lt;&gt;泛型 去除有重复数据的对象 我要给别人传10G的视频教程 要怎么传好点1 怎样在同一部手机上用两个微信!怎么才能下载另一个!8 怎样在同一部手机上用两个微信!怎么才能下载另一个!8 地暖铺木地板还是瓷砖好?哪种经济实用? 一个手机怎么弄两个怎么下载 齐齐哈尔凤凰城机动车检测服务有限公司怎么样? 求情头 女的头像已经有了是一只脚在凳子上喊男的去拖地 求男的...14 第五人格躲猫猫那个点位好 电信卡怎么注册? 圆锥,斜度1:10,锥度是不是1:5? 被人举报,怎样能查到是谁举报的微信被谁12 vivox3t手机磁化怎么办? 齐齐哈尔凤凰城小区在哪里,我14 怎么再申请一个 齐齐哈尔亚麻厂附近,去凤凰城B区坐几路公交车 齐齐哈尔凤凰城有多少人口10 四时田园杂兴一二这两首诗歌描绘了怎样的情景?你从中体会到了什么乐 齐齐哈尔市从三百客运站到凤凰城都有几路公交车1 C语言第26题,为什么选A?快哭了 c语言第26题,没看明白。 已被封禁怎么办?3 怎么把微信好友转移到另一个? 做一个底和高都是10厘米的圆锥,该怎么做10 一个手机上怎样下载两个? 体育馆有哪些地方好捉迷藏 如何解除qq号与不用了的的绑定115 如何向领导汇报工作的方法和技巧1474