【发布时间】:2015-06-21 06:12:28
【问题描述】:
最近有机会了解java新生的招聘流程。 遗憾的是,没有人因为这个项目而进入第二轮。因此,作为一名爱好者,我请我的一个朋友给我解决方案,但是由于我是 Java 新手并且还没有接触到集合框架,所以我不太了解它。 所以可以解释一下这个逻辑或者代码。
问题是在不使用 String 类方法的情况下从字符串中删除重复项。?!
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="this is java this is cpp";
List<String> l=new LinkedList<String>();
int i=0,j;
for(i=0,j=str.indexOf(' ');j!=-1;i=j,j=str.indexOf(' ', i+1))
{
String s=str.substring(i,j).trim();
l.add(s);
}
String s=str.substring(i+1,str.length()).trim();
l.add(s);
Iterator<String> it=l.iterator();
List<String> list=new LinkedList<String>();
while(it.hasNext())
{
String s1=it.next();
if(!list.contains(s1)){
list.add(s1);
}else
{
list.remove(s1);
}
}
System.out.println(list);
}
}
在 for 循环中 i 正在检查 String 的索引,但是 j 到底是什么?
现在我知道只有 (i=0;i<string.length();i++ ) 那种 for 循环...没有在 for 循环中得到额外的 int。
顺便说一句,这个针对 java 新生的程序有多复杂..刚刚过去了?
【问题讨论】:
-
这是一个非常标准的(如果是人为的)字符串处理函数……如果你熟悉字符串处理,应该不会太难写。 (例如,尝试编写一个字符串反转函数作为练习)。
-
是的,先生,我正在练习编程技巧,学习 coderbyte ,codingbat 程序 :)
-
@TimBiegeleisen .. 这不是我的代码.. 我是 java 新手.. 我没有写它
-
这段代码很丑 IMO...
标签: java string collections