2018-10-19 00:13:35 ArrayList

  1. 获取集合元素的长度用的是size方法。
  2. 传入Object类型的值,返回boolean值的remove方法,含义是判断是否删除成功。
  3. 传入索引值的remove方法,返回的是被删除的元素。
  4. 修改值得set方法,第一个参数是索引值,第二个参数是修改后的值最后返回的是被修改的值。
package com.itheima_01;

import java.util.ArrayList;

/*
 * 获取元素
 *         public E get(int index):返回指定索引处的元素
 * 集合长度
 *         public int size():返回集合中的元素的个数
 * 删除元素
 *         public boolean remove(Object o):删除指定的元素,返回删除是否成功
 *         public E remove(int index):删除指定索引处的元素,返回被删除的元素
 * 修改元素
 *         public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
 */
public class ArrayListDemo2 {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList<String> array = new ArrayList<String>();
        
        //添加元素
        array.add("hello");
        array.add("world");
        array.add("java");
        
        //public E get(int index):返回指定索引处的元素
        //System.out.println("get:"+array.get(0));
        //System.out.println("get:"+array.get(1));
        //System.out.println("get:"+array.get(2));
        
        //public int size():返回集合中的元素的个数
        //System.out.println("size:"+array.size());
        
        //public boolean remove(Object o):删除指定的元素,返回删除是否成功
        //System.out.println("remove:"+array.remove("world"));//true
        //System.out.println("remove:"+array.remove("world"));//false
        
        //public E remove(int index):删除指定索引处的元素,返回被删除的元素
        //System.out.println("remove:"+array.remove(0));
        
        //public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
        System.out.println("set:"+array.set(1, "android"));
        
        //输出
        System.out.println("array:"+array);
    }
}

集合的遍历是通过size()方法和get()方法结合使用。2018-10-19 00:13:35

转载于:https://www.cnblogs.com/lzp123456-/p/9814034.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用以下代码实现: ``` import java.util.*; public class Main { public static void main(String[] args) { List<Map<String, String>> A = new ArrayList<Map<String, String>>(); A.add(new HashMap<String, String>() {{ put("begintime", "2020-01-01 00:04:00"); put("endtime", "2020-01-01 00:06:00"); }}); A.add(new HashMap<String, String>() {{ put("begintime", "2020-01-01 00:01:05"); put("endtime", "2020-01-01 00:03:15"); }}); A.add(new HashMap<String, String>() {{ put("begintime", "2020-01-01 00:09:00"); put("endtime", "2020-01-01 00:10:00"); }}); A.add(new HashMap<String, String>() {{ put("begintime", "2020-01-01 00:07:35"); put("endtime", "2020-01-01 00:08:40"); }}); A.add(new HashMap<String, String>() {{ put("begintime", "2020-01-01 00:12:00"); put("endtime", "2020-01-01 00:17:00"); }}); A.add(new HashMap<String, String>() {{ put("begintime", "2020-01-01 00:12:05"); put("endtime", "2020-01-01 00:13:10"); }}); A.add(new HashMap<String, String>() {{ put("begintime", "2020-01-01 00:19:00"); put("endtime", "2020-01-01 00:21:00"); }}); A.add(new HashMap<String, String>() {{ put("begintime", "2020-01-01 00:15:20"); put("endtime", "2020-01-01 00:20:45"); }}); List<Map<String, String>> result = new ArrayList<Map<String, String>>(); Collections.sort(A, new Comparator<Map<String, String>>() { public int compare(Map<String, String> a, Map<String, String> b) { return a.get("begintime").compareTo(b.get("begintime")); } }); String beginTime = A.get(0).get("begintime"); String endTime = A.get(0).get("endtime"); for (int i = 1; i < A.size(); i++) { String currBeginTime = A.get(i).get("begintime"); String currEndTime = A.get(i).get("endtime"); if (currBeginTime.compareTo(endTime) <= 0) { endTime = currEndTime.compareTo(endTime) > 0 ? currEndTime : endTime; } else { result.add(new HashMap<String, String>() {{ put("begintime", beginTime); put("endtime", endTime); }}); beginTime = currBeginTime; endTime = currEndTime; } } result.add(new HashMap<String, String>() {{ put("begintime", beginTime); put("endtime", endTime); }}); System.out.println(result); } } ``` 该代码的基本思路是:首先对 A 集合按照 `begintime` 进行排序,然后遍历 A 集合,如果当前时间段与前一个时间段有重合,则更新当前时间段的结束时间,否则将前一个时间段添加到结果集中,然后将开始时间和结束时间更新为当前时间段的开始时间和结束时间。最后将最后一个时间段添加到结果集中即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值