`
leiwuluan
  • 浏览: 695847 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

List 值你能猜对多少个,一般的人都没能答对,奇怪的List

 
阅读更多

不要运行,看看你能猜出下面有几个1,看看你的思维是什么样的。能不能全猜对。

 

1、下面有几个“1”

List<String> list=new ArrayList<String>();
list.add("1");
list.add("1");
list.add("1");
list.add("1");
list.add("4");
list.add("5");
list.add("1");
list.add("7");
list.add("8");
list.add("9");
list.add("1");

list.add("1");

for(int i=0;i<list.size();i++){
	if("1".equals(list.get(i))){
		list.remove(i);
	}else{
		list.set(i, "1");
	}
}

for(int i=0;i<list.size();i++){
	System.out.print(list.get(i)+"\t");
}

 

 

 2、下面有几个1

		List<String> list=new ArrayList<String>();
		list.add("1");
		list.add("1");
		list.add("1");
		list.add("1");
		list.add("4");
		list.add("5");
		list.add("1");
		list.add("7");
		list.add("8");
		list.add("9");
		list.add("1");
		
		list.add("1");
		
		for(int i=0;i<list.size();i++){
			if("1".equals(list.get(i))){
				list.remove(i);
				--i;
			}else{
				list.set(i, "1");
			}
		}
		
		for(int i=0;i<list.size();i++){
			System.out.print(list.get(i)+"\t");
		}

 3、下面有几个1

		List<String> list=new ArrayList<String>();
		list.add("4");
		list.add("5");
		list.add("8");
		list.add("1");
		list.add("1");
		list.add("1");
		list.add("4");
		list.add("5");
		list.add("1");
		list.add("7");
		list.add("8");
		list.add("9");
		list.add("1");
		list.add("1");
		
		for(int i=0;i<list.size();i++){
			if("1".equals(list.get(i))){
				list.remove(i);
			}else{
				list.set(i, "1");
			}
		}
		
		for(int i=0;i<list.size();i++){
			System.out.print(list.get(i)+"\t");
		}

 

 

 

分享到:
评论
16 楼 linliangyi2007 2010-07-24  
无聊的帖子啊~~~~~浪费时间之余,收益太少,沉了吧
15 楼 beneo 2010-07-24  
我以为楼主想分清楚 1 和 l 呢。。
14 楼 SoloTerran 2010-07-24  
这个题目算是什么意思呢?index都变了有什么意义呢?
沉了吧
13 楼 smiky 2010-07-24  
这种东西要倒着来才对嘛,正首来就出问题啦
12 楼 mtnt2008 2010-07-24  
这个问题,以前也遇到过

可以参见博客:

http://mtnt2008.iteye.com/blog/652570
11 楼 slaser 2010-07-24  
多线程环境下直接挂掉。
10 楼 liuyupy 2010-07-24  
想起以前编程出过错的两点: 从低到高遍历 HTML页面元素集合时的remove操作   和  用Map.KeySet+ for..in 遍历 Map的同时在循环中remove操作..
9 楼 逍遥无夏 2010-07-24  
这个就是remove以后的游标的变化么
8 楼 wzju64676266 2010-07-24  
其实很简单,list   remove   里面的参数是index ,然后调整元素的index,这跟set的remove不同,set  的remove参数是对象
7 楼 ei0 2010-07-24  
恩 后来从1开始数了, 第一个元素该是第0个的
6 楼 fanfq 2010-07-24  
huangfoxAgain 写道
这样遍历去remove肯定有问题~ iterator的remove会稳定的


正解
5 楼 ei0 2010-07-24  
1题数的是6个
4 楼 huangfoxAgain 2010-07-24  
这样遍历去remove肯定有问题~ iterator的remove会稳定的
3 楼 leiwuluan 2010-07-24  
对啊、、、新手写程序要注意的,有时候想法是对了但是逻辑不知不觉的错了,
2 楼 godtiger 2010-07-24  
<div class="quote_title">leiwuluan 写道</div>
<div class="quote_div">
<p>这样遍历删除的问题,List长度不断减少</p>
<p> </p>
</div>
<p> </p>
1 楼 leiwuluan 2010-07-24  
有时候结果还真的不是自己想的那样,一运行一看,错了。

相关推荐

Global site tag (gtag.js) - Google Analytics