java List问题

java List问题,第1张

首先List clents=new ArrayList<ChatClient>();是错的,应该是List<ChatClient> clents=new ArrayList<ChatClient>();

而List<ChatClient> clents=new ArrayList<ChatClient>();也错的原因我估计是:如果你用的是Eclipse,有可能你的JDK版本过于老,没在50以上,所以Eclipse不支持泛型

改正方法:Eclipse中,选中Window-->单击preferences-->单击java--->选中Compliier--->将Compiler complience level 改成60 ,

重新启动Eclipse

输出一下就明白了,list2addAll之后的值为[ [1,2],1,2],list1clear之后的值为[[],1,2]现在的list2长度为3,因为第一个元素是一个list对象,当list1clear()之后list1的值为空,也就是[],addALL相当于把list1的值取出之后在add到list2中也就相当于list2add("1"),list2add("2"),总的来说就是相当于list2add(list1),list2add("1"),list2add("2")

区别就是add添加的是什么就是什么,addALL会把添加的List的值先取出来然后在add到list中

以上回答你满意么?

改成这样

public void deleteFriend(String name,int age){

Iterator ite=listiterator();

while(itehasNext()){

Friend f=(Friend)itenext();

if(fgetName()equals(name)&&fgetAge()!=age){

iteremove(f);

Systemoutprintln("成功移除");

}

}

}

原因是你在循环里用list删除了链表的元素,有用ite去获取元素,因此产生了错误

代码如下:

import javautilScanner;

public class App {

public static void main(String[] args) {

Scanner scanner = new Scanner(Systemin);

int n = 0, cnt = 0, sum = 0;

for (int i = 0; i < 10; i++) {

n = scannernextInt();

if (n < 0) {

cnt++;

sum += n;

}

}

Systemoutprintln("负数个数:" + cnt);

Systemoutprintln("负数之和:" + sum);

scannerclose();

}

}

运行结果:

以上就是关于java List问题全部的内容,包括:java List问题、java list集合问题、关于java List集合问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9719552.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存