现有三个这样的list表
List list1=new ArrayList(),
List list2 = new ArrayList(),比如说,list1 有A , B, C 这三个元素, list2 有 B , C , D这三个元素!
现在把这两个表做比较, list1和list2相同的元素的保留,list2中有的list1没有的也插入list1,list1中有list2中没有从list1中去除,
这样得到一个最后的结果是list1的元素是: B ,C ,D!!!我想到一种对list1 和list2样进行比较并得出结果 的方法,我这边有一个,不过不是很好,我想要一个效率高一点的,
请高手指教!!!
List list1=new ArrayList(),
List list2 = new ArrayList(),比如说,list1 有A , B, C 这三个元素, list2 有 B , C , D这三个元素!
现在把这两个表做比较, list1和list2相同的元素的保留,list2中有的list1没有的也插入list1,list1中有list2中没有从list1中去除,
这样得到一个最后的结果是list1的元素是: B ,C ,D!!!我想到一种对list1 和list2样进行比较并得出结果 的方法,我这边有一个,不过不是很好,我想要一个效率高一点的,
请高手指教!!!
import java.util.LinkedList;
import java.util.List;public class Test { public static void main(String[] args) {
List<String> list1 = new LinkedList<String>();
list1.add("A");
list1.add("B");
list1.add("C");
List<String> list2 = new LinkedList<String>();
list2.add("B");
list2.add("C");
list2.add("D");
list1.retainAll(list2);
list2.removeAll(list1);
list1.addAll(list2);
System.out.println(list1);
}}
输出:
[B, C, D]
这样得到一个最后的结果是list1的元素是: B ,C ,D!!! list1 = list 2over!
有一篇文章,里面包含三个图片A,B,C,我把这存在数据库里面,
现在修改这篇文章,删除了A图片,保留了B,C图片,并增加了D图片,
现在求怎么对数据库进行操作...
也就是要从数据库删除A,并插入D!
当关键是我要知道哪个是要被删除,哪个要被插入,哪个要被保留!!我自已做的一个方法里面用了太多的for循环还if条件,感觉不好!
现在想求一个好的算法!!!
谢谢主!!!感谢sagezk的方法,我正在试你写的方法!!!5楼你的意思我知道,你应该考虑方法而不是结果!!!
另,数据库中如何存的图片?难道没有标识吗?就算以binary形式存在某一列中,也会有列名的不同吧?或者单独一张表放图片,那么,文章要引用这图片,也应该有个标识,如名字,id,才能保证从数据库取到正确的图片。
不明白,LZ为什么会不知道哪个要被删除,尤其是都已经知道要删除"A"图片的情况下?