public static void main(String[] args) {
//第一种:List每remove掉一个元素以后,
//后面的元素都会向前移动,此时如果执行i=i+1,
//则刚刚移过来的元素没有被读取。
String str1 = new String("abcde1");
String str2 = new String("abcde2");
String str3 = new String("abcde3");
String str4 = new String("abcde4");
String str5 = new String("abcde5");
List list = new ArrayList();
list.add(str1);
list.add(str2);
list.add(str3);
list.add(str4);
list.add(str5);
System.out.println("list.size()=" + list.size());
//每移除一个元素以后再把i移回来
for (int i = 0; i < list.size(); i++) {
if(((String) list.get(i)).contains("abcde1")) {
list.remove(i);
i--;
}
}
System.out.println("after remove:list.size()=" + list.size());
//第二种:定义一个空的Set,把两个list中的元素依次往这个set中存放,
//Set中的元素是不重复的
ArrayList<String> l1 = new ArrayList<String>();
ArrayList<String> l2 = new ArrayList<String>();
l1.add("1");
l1.add("2");
l1.add("3");
l1.add("4");
l1.add("5");
l2.add("3");
l2.add("4");
l2.add("5");
l2.add("6");
l2.add("7");
/*l1.add(1);
l1.add(2);
l1.add(3);
l1.add(4);
l2.add(3);
l2.add(4);
l2.add(5);
l2.add(6);*/
Set set = new HashSet();
for (String i : l1){
set.add(i);
}
for(String i : l2){
set.add(i);
}
ArrayList<String> l3 = new ArrayList<String>(set);
Collections.sort(l3); //这里排序
System.out.println(l3);
//第三种:
List <String> temp=new ArrayList<String>(l1);//用来保存两者共同有的数据
temp.retainAll(l2);
l1.removeAll(temp);//l1中去掉两者共同有的数据
l2.removeAll(temp);//l2中去掉两者共同有的数据
List <String> l5=new ArrayList<String>();
l5.addAll(l1);
l5.addAll(l2);
System.out.println(l5);
//第四种:用SET
Set s = new HashSet(l1);//将1放到Set中
for(String i : l2){
//l2添加到set中不成功的时 ,说明s中已经存在该对象,直接remove掉该对象即可
if(!s.add(i)){
s.remove(i);
}
}
System.out.println(s);
}
分享到:
相关推荐
@{list}是robot提供的语法,python并没有@{},只有${},所以要⽐较两个@{list},需要把@{list},直接写成英⽂dollar ${list}进 ⾏对⽐ ⽰例: @{list} Create List lilei hanmeimei liming liliang liming Remove ...
创建:list = [5,7,9]取值和改值:list[1] = list[1] * 5列表尾插入:list.append(4)去掉第0个值并返回第0个值的数值:list.pop(0)去掉第0个值但不返回数值:del(list[0])去掉具体某个值:list.remove(35)函数...
设置参数(上下限),然后find,翻转角度以求清楚观察钝角变为直角用defuture中的两个node命令(点要变为直角的两条边)删除多余的点用quick edit中的add/remove point(左键为add,右键为remove,shift加右键可框选...
LeetCode判断字符串是否循环 ...用Set遍历nums1,根据Set的方法性质,重复数组元素会被去除,用List储存nums2中与nums1相同的元素,如果set中remove掉了对应元素,则res中addnums2数组元素,再新建数组储存对应
起点处的实体表,作为延伸后获得的实体表中要去除的实体 pt-list (list (list (fix (* 10 (car pt1)))(fix (* 10 (cadr pt1))))) path-ss (mapcar '(lambda (x) (list x)) ss) ;;;路径表 dist-ss (mapcar '...
28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ private int j; public static ...
抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承...
02.zip Remove system menu from floating toolbar 从浮动工具条中去除系统菜单(2KB)<END><br>3,03.zip Remove close button from floating toolbar 从浮动工具条中去掉关闭按钮(2KB)<END><br>4,...
上面, 我们在 web.xml 文件中告诉 ContextLoaderListener, 我们还有另外两个配置文件 /WEB-INF/database.xml 和 /WEB-INF/applicationContext.xml. applicationContext.xml: 1 2 <!DOCTYPE beans PUBLIC "-//...
这两个函数被TesSafe把头几个字节HOOK了 lkd> u 805878d0 805878d0+180 ;NtWriteVirtualMemory 805878d0 b89e9707a9 mov eax,0A907979Eh 805878d5 ffe0 jmp eax 805878d7 e8a7c5f5ff call nt!CIsqrt+0x2d7 (804e3e83...
解决的方法就在httpd这个配置文件里,找到以下两条: #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_http_module modules/mod_proxy_http.so 前面有# 号,说明被注释掉了,不起作用,把#号...
迭代两个图像,并设置它们的 src 属性。注意:此处 this 指代的是 DOM 对象而非 jQuery 对象。 HTML 代码: <img/><img/> jQuery 代码: $("img").each(function(i){ this.src = "test" + i + ".jpg"; }); 结果...