在JAVA中,对List集合的加减操作

              在日常JAVA开发中,经常会对List集合进行各种各样的操作,这里针对List集合的加减操作做个小的总结:在我看来最常用的有两个,一个是对原List本身有改变,一个是原List本身无改变。

一、对原List本身有改变的方法即:List1.addAll(List2)     // List1与List2两个集合进行相加,返回一个boolean类型值,原有的List1值有变化,List2不变; List1.removeAll(List2)  //List1与List2两个值进行相减,返回一个boolean类型值,原有的List1值有变化,List2不变;

               例子(加法):List<String> list1 = new ArrayList<String>();

       list1.add("1");

                           list1.add("3");

   list1.add("5");

                          List<String> list2 = new ArrayList<String>();                            

                           list2.add("2");

                           list2.add("4");

                           list2.add("5");

                          list1.addAll(list2);

                          System.out.println(list1); //输出结果为:[1, 3, 5, 2, 4, 5]

                        

(减法):List<String> list1 = new ArrayList<String>();

       list1.add("1");

                                           list1.add("3");

                   list1.add("5");

                                        List<String> list2 = new ArrayList<String>();                            

                                           list2.add("2");

                                           list2.add("4");

                                           list2.add("5");

                          list1.removeAll(list2);

                                     System.out.println(list1); //输出结果为:[1, 3]

                  二、 对原本List无改变的方法即:ListUtils.union(List1,List2)    //List1与List2相加,返回的是一个List集合,原有的List1与List2都没有改变;ListUtils.subtract(List1,List2)    //List1与List2相减,返回的是一个List集合,原有的List1与List2都没有改变

                      

   例子(加法):List<String> list1 = new ArrayList<String>();

       list1.add("1");

                         list1.add("3");

                                 list1.add("5");

                                                List<String> list2 = new ArrayList<String>();                            

                                                        list2.add("2");

                                                        list2.add("4");

                                                        list2.add("5");

                                                 List<String> list = ListUtils.union(list1,list2); 

                                                 System.out.println(list); //输出结果为:[1, 3, 5, 2, 4, 5]

                        

                 (减法):List<String> list1 = new ArrayList<String>();

       list1.add("1");

                                                            list1.add("3");

                                    list1.add("5");

                                                      List<String> list2 = new ArrayList<String>();                            

                                                             list2.add("2");

                                                             list2.add("4");

                                                             list2.add("5");

                                        List<String> list = ListUtils.subtract(list1,list2);

                                                      System.out.println(list); //输出结果为:[1, 3]


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Java获取List集合最大的日期时间操作可通过以下步骤实现: 1. 创建一个List集合,并将需要比较的日期时间对象添加到该集合。 2. 使用Collections类的max()方法来获取List集合的最大日期,该方法的参数需要传入一个Comparator日期比较器。 3. 创建一个Comparator日期比较器,重写其的比较方法,使其比较两个日期对象的大小,并返回较大的日期。 示例代码如下: ``` import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Main { public static void main(String[] args) { List<LocalDateTime> dateTimeList = new ArrayList<>(); dateTimeList.add(LocalDateTime.of(2021, 8, 12, 10, 30, 0)); dateTimeList.add(LocalDateTime.of(2021, 8, 13, 11, 30, 0)); dateTimeList.add(LocalDateTime.of(2021, 8, 14, 12, 30, 0)); dateTimeList.add(LocalDateTime.of(2021, 8, 15, 13, 30, 0)); LocalDateTime maxDateTime = Collections.max(dateTimeList, new Comparator<LocalDateTime>() { @Override public int compare(LocalDateTime o1, LocalDateTime o2) { return o1.compareTo(o2); } }); System.out.println("List集合最大的日期时间为:" + maxDateTime); } } ``` 在该示例代码,我创建了一个List集合dateTimeList,并向其添加了四个不同的日期时间对象。 然后,我使用Collections类的max()方法获取了该集合的最大日期对象,并将自定义的Comparator日期比较器作为参数传入。 Comparator日期比较器的compare()方法根据其传入的两个日期对象的大小关系,返回较大的日期。在该示例代码,我使用了LocalDateTime类自带的compareTo()方法作为比较器的实现。最后,程序输出该集合最大的日期时间对象,即2021年8月15日13点30分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值