精华内容
下载资源
问答
  • 有两个集合newCoures和oldCourses,判断这两个集合是否包含相同的对象或元素, 可以使用retainAll方法:oldCourses.retainAll(newCoures)。 如果存在相同元素,oldCourses中仅保留相同的元素。 如果不存在相同...

    java 取交集方法retainAll

    有两个集合newCoures和oldCourses,判断这两个集合是否包含相同的对象或元素,

    可以使用retainAll方法:oldCourses.retainAll(newCoures)。

    如果存在相同元素,oldCourses中仅保留相同的元素。

    如果不存在相同元素,oldCourse会变为空。

    如果有多个集合oldCourses1、oldCourses2、oldCourses3等,分别与newCourses比较,应该将newCourses统一放在后面,像这样:

    oldCourses1.retainAll(newCoures);

    oldCourses2.retainAll(newCoures);

    oldCourses3.retainAll(newCoures);

     

    public class Test {
    
        public static void main(String[] args) {
    
            List<String> list1 = new ArrayList<String>();
            List<String> list2 = new ArrayList<String>();
            List<String> list3 = new ArrayList<String>();
            for (int i = 0; i < 20; i++) {
                list1.add(i+"");
                if(i%2 == 0) {
                    list2.add(i+"");
                }
                list3.add(i+"@");
            }
            // list1 与 list2 存在相同元素,list1集合只保留list2中存在的元素
            list1.retainAll(list2);
            if(list1.isEmpty()) {
                System.out.println("不包含");
            } else {
                System.out.println("包含");
            }
            System.out.println(list1);
            // list1 与 list3 不存在相同元素,list1集合变为空
            list1.retainAll(list3);
            if(list1.isEmpty()) {
                System.out.println("不包含");
            } else {
                System.out.println("包含");
            }
            System.out.println(list1);
        }
    }

    运行结果如下:

    查看出处:lanxin0802

    ----------------------------java 两个list 交集 并集 差集 去重复并集---------------------------

    List<String> list1 =new ArrayList<String>();
    list1.add("A");
    list1.add("B);

    List<String> list2 =new ArrayList<String>();
    list2.add("B");

    list2.add("C");

     

    1.并集

    list1.addAll(list2);

    运行结果:A, B, B, C

    2.无重复并集
    list2.removeAll(list1);
    list1.addAll(list2);

    运行结果:A, B, C

    3.交集

    list1.retainAll(list2);

    运行结果: B

    4.差集
    list1.removeAll(list2);

    运行结果:A

    注意:如果不理解怎么打印,可以粘贴方法去菜鸟教程,查看详细使用步骤。

    看出处:n_meng

    展开全文
  • 判断一个元素集合中很容易,只需要遍历这个集合,然后与每个值进行比较,如果有相等的,那么就存在在集合中,然后反过来,就是不存在集合中的,找到它好像挺容易,但是写起代码来好像有点绕,那么,现在就把它写...

    判断一个元素在集合中很容易,只需要遍历这个集合,然后与每个值进行比较,如果有相等的,那么就存在于集合中,反之,就是不存在集合中。找到它好像挺容易,但是写起代码来好像有点绕,那么,现在就把它写出来:

            // 定义两个数据
            List<Integer> aList = new ArrayList<Integer>();
            List<Integer> bList = new ArrayList<Integer>();
            boolean flag;
    
            for (int i = 0; i < 4; i++) {
                aList.add(i); // 首先在集合aList中添加0-3共4个整数
            }
            for (int i = 0; i < 5; i++) {
                bList.add(i); // 在bList中添加0-4的整数,显然b集合中4这个数不存在于a集合的
            }
            // 遍历b集合
            for (int i = 0; i < bList.size(); i++) {
                // 默认为true,如果有相等的就置为false,不移除
                flag = true;
                for (int j = 0; j < aList.size(); j++) {
                    if (bList.get(i) == aList.get(j)) {
                        flag = false; // 相等则说明存在
                    }
                }
                // 如果遍历完,仍没有相等的,则flag仍然为真,该元素移除
                if (flag) {
                    bList.remove(i); // 移除
                }
            }
            // 输出处理后的b集合
            for (Integer integer : bList) {
                System.out.println(integer);
            }

     

    展开全文
  • //声明一个集合 List list = new List(); //声明一个数组 string[] Array = new string[] { }; //接受集合遍历出来的数据 string str = ""; //给集合添加数据
    //声明一个集合
                List<string> list = new List<string>();
                //声明一个数组
                string[] Array = new string[] { };
                //接受集合遍历出来的数据
                string str = "";
                //给集合添加数据
                list.Add("张三1");
                list.Add("李四2");
                list.Add("王五3");
                //如果集合中有数据开始遍历
                if (list.Count > 0)
                {
                    for (int i = 0; i < list.Count; i++)
                    {
                        str += list[i] + ",";//把每个数据之间用','分开
                    }
                }
                if (str.Length >= 2)
                {
                    //从开始截取到最后一个,
                    str = str.Substring(0, str.LastIndexOf(','));
                    //把累积的数据分割成字符串 用数组接受
                    Array = str.Split(',');
                }
                //循环出数组的数据
                for (int i = 0; i < Array.Length; i++)
                {
                    //输出 Array[i]
                }
    展开全文
  • 实现集合List中的元素进行排序

    万次阅读 多人点赞 2016-06-14 22:08:32
    Collections对List集合中的数据进行排序 有时候需要对集合中的元素按照一定的规则进行排序,这就需要用到 ...先看一个简单的例子: public static void main(String[] args) { List nums = new ArrayList(); nums.

     

    Collections对List集合中的数据进行排序

    有时候需要对集合中的元素按照一定的规则进行排序,这就需要用到

     

    Java中提供的对集合进行操作的工具类Collections,其中的sort方法

     

    先看一个简单的例子:

     

    public static void main(String[] args) {
    	List<Integer> nums = new ArrayList<Integer>();
    		nums.add(3);
    		nums.add(5);
    		nums.add(1);
    		nums.add(0);
    		System.out.println(nums);
    		Collections.sort(nums);
    		System.out.println(nums);
    }

    输出结果:
    [3, 5, 1, 0]
    [0, 1, 3, 5]

     

    稍微复杂的List里面放一个复杂的对象

     

    package core.java.collection.collections;
    
    public class User implements Comparable<User>{
    	
    	private int score;
    	
    	private int age;
    	
    	public User(int score, int age){
    		super();
    		this.score = score;
    		this.age = age;
    	}
    
    	public int getScore() {
    		return score;
    	}
    
    	public void setScore(int score) {
    		this.score = score;
    	}
    
    	public int getAge() {
    		return age;
    	}
    
    	public void setAge(int age) {
    		this.age = age;
    	}
    
    	@Override
    	public int compareTo(User o) {
    		int i = this.getAge() - o.getAge();//先按照年龄排序
    		if(i == 0){
    			return this.score - o.getScore();//如果年龄相等了再用分数进行排序
    		}
    		return i;
    	}
    	
    }
    
    public static void main(String[] args) {
    		List<User> users = new ArrayList<User>();
    		users.add(new User(78, 26));
    		users.add(new User(67, 23));
    		users.add(new User(34, 56));
    		users.add(new User(55, 23));
    		Collections.sort(users);
    		for(User user : users){
    			System.out.println(user.getScore() + "," + user.getAge());
    		}
    }

    输出结果:
    55,23
    67,23
    78,26
    34,56
    我们会发现sort(List<T>)方法中List中的T必须实现Comparable<T>接口,然后实现
    compareTo()方法,该方法的返回值0代表相等,1表示大于,-1表示小于;为什么
    在简单例子中没有看到实现Comparable接口呢?是因为Integer类其实自己已经实现
    了Comparable接口,Java已经给我们做好了。

    Collections提供的第二种排序方法sort(List<T> list, Comparator<? super T> c)
    先看例子:

    package core.java.collection.collections;
    
    public class Students {
    	
    	private int age;
    	private int score;
    	
    	public Students(int age, int score){
    		super();
    		this.age = age;
    		this.score = score;
    	}
    	
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	public int getScore() {
    		return score;
    	}
    	public void setScore(int score) {
    		this.score = score;
    	}
    }
    public static void main(String[] args) {
    		List<Students> students = new ArrayList<Students>();
    		students.add(new Students(23, 100));
    		students.add(new Students(27, 98));
    		students.add(new Students(29, 99));
    		students.add(new Students(29, 98));
    		students.add(new Students(22, 89));
    		Collections.sort(students, new Comparator<Students>() {
    
    			@Override
    			public int compare(Students o1, Students o2) {
    				int i = o1.getScore() - o2.getScore();
    				if(i == 0){
    					return o1.getAge() - o2.getAge();
    				}
    				return i;
    			}
    		});
    		for(Students stu : students){
    			System.out.println("score:" + stu.getScore() + ":age" + stu.getAge());
    		}
    }

    输出结果:
    score:89:age22
    score:98:age27
    score:98:age29
    score:99:age29
    score:100:age23

    从上面的例子我们可以看出Students类没有实现Comparable<T>接口,只是在sort()方法
    中多传入一个参数,只不过该参数是一个接口我们需要实现其compare方法。

    以上就是是Java中Colelctions工具类为我们提供的两种集合排序方法。

     

     

    展开全文
  • 本文来自:http://www.cnblogs.com/TrueElement/archive/2012/01/13/2321328.html ...如上,我想把num0中不包含于num1的元素都找出来,其正确结果应该是28,32。早上看到原来linq
  • 这里用到了java8里面collect将Stream转换成值,可以对集合元素进行基本的操作,求和操作如下: List<User> userlist = userService.findAll(); Integer sum= userlist .stream().collect(Collectors....
  • 要求:现在想把集合中的某个元素,放到该集合的第一个位置,但是其他元素的顺序不需要管。 方法:需要遍历集合,找到这个元素集合中的位置,然后使用Collections.swap(list,o,i) (O:为元素目前所在位置,i:为...
  • 去掉一个 Vector 集合中重复的元素

    千次阅读 2017-10-03 10:39:16
    在java中去掉一个 Vector 集合中重复的元素 1.通过Vector.contains()方法判断是否包含该元素,如果没有包含就添加到新的集合当中,适用于数据较小的情况下。 private Vector getNoSameObjectVector(Vector ...
  • 如何在foreach中删除一个集合中的元素,其实很简单,只用一个递归就可以了,例如下面的一个代码判断一个listbox里面的items都是checkbox其中被选中的全部都删除 void removef() { foreach (CheckBox item in lst....
  • 判断一个元素是否在一个集合

    千次阅读 2004-12-22 11:52:00
    出自http://community.csdn.net/Expert/TopicView1.asp?id=3660145QuickKeyBoard() 这样的问题在noi教学中属于基础问题,当你要看一个元素是否在一个集合中时,利用Hash散列表的效率最高。代码我已经写好了,复杂度...
  • 一、第一个问题: 首先我们需要知道什么可以作为集合元素集合对象是一组无序排列***可哈希***的值,集合成员可以做字典中的键。那么可哈希与不可哈希是什么意思呢? 简要的说可哈希的数据类型,即不可变的数据...
  • 【Java集合类】 LinkedHashMap获取第一个元素和最后一个元素 获取LinkedHashMap中的头部元素(最早添加的元素): 时间复杂度O(1) public &amp;amp;lt;K, V&amp;amp;gt; Entry&amp;amp;lt;K, V&...
  • 题目遇到这么一个面试题,题目是...然后将S0中的元素一个一个的放入S1中,在这个过程中做如下操作: 1. 将第一个元素i1放入集合S1中,即S1{i1},在S1中随机取一个元素的话只能取i1; 2. 再将元素i2放入集合S1中,即S1
  • 找出两List集合重复的元素

    万次阅读 热门讨论 2019-02-13 20:26:56
    前几天,有个同事问我说怎么找出两个List集合中重复的元素,我当时就说一个集合在外面循环,一个集合在内循环,如果两个元素相等了,就找出来了,我回来一想还是不对,要是数据非常多,这样循环下去,服务器会卡死的...
  • 实现原理就是,获取用户"特别关注"信息的Id集合recommList,循环这个List集合,从用户当前页的信息集合(pageList)中找到"特别关注"的信息,然后用一个临时对象temp接收,从pageList删除这个元素,最后把临时...
  • Java中如何删除一个集合中的多个元素

    万次阅读 热门讨论 2007-12-28 14:11:00
    Java中如何删除一个集合中的多个元素 今天我需要从一个java的集合中,根据另一个集合的内容,删除第一个集合中不特定的元素。这看上去非常简单,但却遇到了问题。这就是“Java中如何删除一个集合中的多个元素”的...
  • "得到两取出非相同元素集合" );   for ( int i = 0; i (); i++) { System. out .println(list3.get(i)); } 运行结果如下: befor 1 2 after 1 得到两取出非相同...
  • 获取Set集合的第一个元素

    千次阅读 2019-12-05 10:55:59
    HashSet set = new HashSet<>(); set.add(“f”); set.add(“a”); set.add(“b”); set.add(“d”); // 增强for循环进行遍历 for (String string : set) { System.out.println...获取第一个元素 简单粗暴...
  • 本题要求实现一个函数,求N个集合元素S[]的平均值,其中集合元素的类型为自定义的ElementType。 函数接口定义: ElementType Average( ElementType S[], int N ); 其中给定集合元素存放在数组S[]中,正整数N是...
  • [color=red][b]你想要筛选出集合中的一些元素形成一个新的集合,这些元素都是满足你的筛选条件的。[/b][/color] [size=medium][b]Solution[/b][/size] “选择一个集合方法来解决问题”,大量的方法可以被用来...
  • Python--从集合中随机取出一个元素

    千次阅读 2020-05-29 23:49:27
    Python--从集合中随机取出一个元素 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 有时候有一个这样的需求,需要在一个数据表...
  • 个集合个元素的排序组合

    千次阅读 2018-04-21 19:40:57
    从各个集合当中任意取一个元素,生成集合的排列组合。import java.util.ArrayList; import java.util.List; public class Permutate { /**保存生成的排列组合内容**/ public List&lt;String&gt; ...
  • 1简单元素的查找一、找到2个集合中相同和不同的元素本文分享的示例代码实现提取2个集合中相同和不同的元素此处需要使用Collection集合所提供的一个方法:removeAll(Cellection list),removeAll方法用于从列表中移除...
  • 在C#的List集合操作过程中,如果要获取List集合中的最后一个元素对象,则一般会先通过获取到list集合的个数Count属性,然后再使用索引的方式获取到该集合的最后一个位置的元素信息。其实在List集合中提供了获取最后...
  • 思路:维护一个数组,代表以某个结点为根的树的结点数目,初始化为全1。在合并两个集合时,将秩较小的集合元素数目加到秩较大的集合上。这里需要注意一下,就是Union过程处理两个祖先相同的结点,此时实际上没有...
  • public static void main(String[] args) { List<Integer> list = new ArrayList(); list.add(1); list.add(2);... System.out.println("上一个:"+one); System.out.println("下一个:"+two); }
  • Java使用foreach遍历集合元素

    千次阅读 2014-04-05 21:38:05
    Java使用foreach遍历集合元素 1、实例源码 /** * @Title:ForEach.java * @Package:com.you.model * @Description:使用foreach遍历集合元素 * @Author: 游海东 * @date: 2014年4月5日 下午9:31:11 * @Version...
  • 取两个集合中的相同元素

    千次阅读 2017-10-11 10:39:24
    取两个集合中的相同元素,并将结果转换为字符串code public String GetIntersection(String args1, String args2) { String[] arr1 = args1.split(","); String[] arr2 = args2.split(","); List<String> li

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,022,561
精华内容 409,024
关键字:

一个集合的元素