遍历-循环判断处,为何用Object对象代替li.next()返回结果正确,否则就不对!求大神答疑!

问题描述

循环判断处,为何用Object对象代替li.next()返回结果正确,否则就不对!求大神答疑!
/*
需求:定义一种方法,找出集合中的单独元素
思路:
1、创建一个新的集合
2、遍历集合所有元素
3、将新集合中没有的元素添加到新集合当中
4、返回新集合
/
import java.util.
;
class ArrayListTest
{
public static void sop(Object obj){// 单独定义的一个输出方法
System.out.println(obj);
}
public static ArrayList singleElement(ArrayList al){//定义方法,查找集合中的单个元素,并添加到新集合当中
ListIterator li=al.listIterator();
ArrayList newal=new ArrayList();
while(li.hasNext()){//循环判断集合中是否还有元素
//Object obj=li.next();
if(!newal.contains(li.next())){
newal.add(li.next());

}
}
return newal;
}
public static void main(String[] args)
{
ArrayList al=new ArrayList();
al.add(""java01"");
al.add(""java02"");
al.add(""java01"");
al.add(""java01"");
al.add(""java03"");
al.add(""java01"");
al.add(""java02"");
sop(al);//输出原始集合
al=singleElement(al);//对原始集合进行筛选,保留相同元素
sop(al);//输出新集合
}
}

解决方案

// 假定这时 li 中有 {AB}if(!newal.contains(li.next())){ // 这时li.next()返回A,判断的是A是否存在    newal.add(li.next()); // 假如不存在,又调用li.next()返回B,添加的是B啊!B啊!!B啊!!!}
时间: 2024-11-01 05:58:07

遍历-循环判断处,为何用Object对象代替li.next()返回结果正确,否则就不对!求大神答疑!的相关文章

arraylist-如下代码,循环打印出来为什么remove掉了4,而不是remove掉了3,求大神解释。

问题描述 如下代码,循环打印出来为什么remove掉了4,而不是remove掉了3,求大神解释. List list=new ArrayList(); list.add(new ForTest("1")); list.add(new ForTest("2")); list.add(new ForTest("3")); list.add(new ForTest("4")); list.add(new ForTest("

t 遍历文件夹 ile nfo-急求使用Qt遍历打开文件夹,并把所有子文件的路径显示在ListWidget中,求大神帮忙!

问题描述 急求使用Qt遍历打开文件夹,并把所有子文件的路径显示在ListWidget中,求大神帮忙! bool StyleBatch::findFilePath(QString path){ QDir dir(path);if (!dir.exists()) return 0;dir.setFilter(QDir::Dirs|QDir::Files);dir.setSorting(QDir::DirsFirst);QFileInfoList list = dir.entryInfoList();

string-c#中未将对象引用设置到对象的实例。改了好久改不来 求大神指导

问题描述 c#中未将对象引用设置到对象的实例.改了好久改不来 求大神指导 private void butkeyverify_Click(object sender, EventArgs e) { try { byte a, b; string c = null; //生成密钥类型 { if (cmbkeytype.SelectedValue.ToString() == "密钥A") { a = 0x60; } else { a = 0x61; } } //生成扇区号 { if (cm

如何用java线程池和socket实现群聊和私聊,求大神指教

问题描述 如何用java线程池和socket实现群聊和私聊,求大神指教 刚学习完javaSE,需要做一个小小的聊天软件,需要实现私聊和群聊的功能:本人觉得应当使用线程池和socket.IO流来实现,但不知道怎么做?求各位大神给点意见,不胜感激~ 解决方案 http://download.csdn.net/detail/z344310362/7579373 解决方案二: 群聊就是把消息发到一个聊天室,,私聊直接通过服务端发送给个人就行了 解决方案三: 我给你一个java聊天软件的参考吧:java聊

如何用Java写出类似QQ好友列表那样的效果,求大神指教最好有代码

问题描述 如何用Java写出类似QQ好友列表那样的效果,求大神指教最好有代码 请问如何用Java写出类似QQ好友列表那样的效果,求大神指教最好有代码 解决方案 http://etwo.iteye.com/blog/1460375

对象-JAXB可以生成字符串形式的XML么?求大神回答

问题描述 JAXB可以生成字符串形式的XML么?求大神回答 怎么利用JAXB把对象转换成字符串形式的XML,在线等 .... 解决方案 结构 <?xml version="1.0" encoding="utf-8" ?> <busiSync> <header> <OperCode>1</OperCode> <TimeStamp>1</TimeStamp> </header>

遍历-求大神指点 关于java 的foreach循环问题

问题描述 求大神指点 关于java 的foreach循环问题 import java.util.Arrays; public class lianxi02 { public static void main(String[] args) { // 定义一个整型数组,保存成绩信息 int[] scores = { 89 72 64 58 93 }; // 对Arrays类对数组进行排序 Arrays.sort(scores); // 使用foreach遍历输出数组中的元素 for (int sco

求大神 指点关于java循环的问题

问题描述 求大神 指点关于java循环的问题 判断一个数(小于10位)的位数. 输入999,则输出 "它是个3位的数!" 解决方案 文艺青年用 log10 普通青年 循环整除10 xx青年,转换字符串,求长度 解决方案二: 转化为字符串,然后进行判断就可以 解决方案三: Scanner input = new Scanner(System.in); System.out.println("请输入一个10位以内的整数:"); int number = input.ne

java 排列组合-求大神帮我看看这段代码,打印完“12345”结束for循环后为什么还能继续运行?新手没金币,抱歉!

问题描述 求大神帮我看看这段代码,打印完"12345"结束for循环后为什么还能继续运行?新手没金币,抱歉! public class Test { public static void main(String[] args) { prints(0 0 0 0 0);}public static void prints(int k1int k2int k3int k4int k5){ if(k5!=0){ System.out.println(k1*10000+k2*1000+k3*1