当前位置: 首页 > news >正文

怀柔住房和城乡建设委员会网站深圳网站优化公司哪家好

怀柔住房和城乡建设委员会网站,深圳网站优化公司哪家好,网站都是在哪里制作的,做音乐的网站设计在平常开发过程中,我们经常会遇到截取列表片段的需求,比如取列表中前4个元素、取后四个元素。Java的List提供了subList方法,可以用来完成这些工作,但是使用起来并没有那么便利,比如取前四个元素: list.sub…

在平常开发过程中,我们经常会遇到截取列表片段的需求,比如取列表中前4个元素、取后四个元素。Java的List提供了subList方法,可以用来完成这些工作,但是使用起来并没有那么便利,比如取前四个元素:

list.subList(0, 4)

这里代码的本意是“取出列表中下标为0到4(不包括4)的元素”,结果恰好与需求相同,但是表达并非最直观。再来看取最后4个元素的版本:

int size = list.size();
list.subList(size - 4 ,size)

呃…更不直观了。我每次写这段程序都得小心翼翼检查index是否正确。

于是就有了本文要介绍的两个工具方法:firstlast

API介绍

  1. first
    方法签名:static <T> List<T> first(List<T> list, int n)
    功能:获取列表list中前n个元素,如果列表长度小于n,抛出异常。

  2. firstAtMost
    方法签名:static <T> List<T> firstAtMost(List<T> list, int n)
    功能:获取列表list中最多前n个元素,如果列表长度小于n,返回list的一个副本。

  3. last
    方法签名:static <T> List<T> last(List<T> list, int n)
    功能:获取列表list中最后n个元素,如果列表长度小于n,抛出异常。

  4. lastAtMost
    方法签名:static <T> List<T> lastAtMost(List<T> list, int n)
    功能:获取列表list中最多前n个元素,如果列表长度小于n,返回list的一个副本。

使用示例

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7);List<Integer> first = first(list, 3);//{1, 2, 3}
List<Integer> atMostFirstList = firstAtMost(list, 3);//{1, 2, 3}
List<Integer> list1 = firstAtMost(list, 10);//{1, 2, 3, 4, 5, 6, 7}
List<Integer> last = last(list, 3);//{5, 6, 7}
List<Integer> lastAtMost = lastAtMost(list, 3);//{5, 6, 7}
List<Integer> last2 = lastAtMost(list, 30);//{1, 2, 3, 4, 5, 6, 7}

功能实现

    public static int size(@Nullable Collection<?> collection) {return collection == null ? 0 : collection.size();}public static <T> List<T> first(List<T> list, int n) {if (size(list) < n) {throw new IllegalArgumentException("list size less than " + n);} else {return new ArrayList<>(list.subList(0, n));}}public static <T> List<T> firstAtMost(List<T> list, int n) {int size = size(list);return size == 0? new ArrayList<>(): new ArrayList<>(size <= n ? list : list.subList(0, n));}public static <T> List<T> last(List<T> list, int n) {int size = size(list);if (size < n) {throw new IllegalArgumentException("list size less than " + n);} else {return new ArrayList<>(list.subList(size - n, size));}}public static <T> List<T> lastAtMost(List<T> list, int n) {int size = size(list);return size == 0? new ArrayList<>(): new ArrayList<>(size <= n ? list : list.subList(size - n, size));}
http://www.tj-hxxt.cn/news/88261.html

相关文章:

  • 一般企业网站3年多少钱产品推广文案怎么写
  • 企业做网站可以带中国吗郑州今天刚刚发生的新闻
  • 怎么做网站导航栏中国舆情在线
  • 网站开发工程师的工作内容无屏蔽搜索引擎
  • 桂林 网站 制作如何做网络推广运营
  • 网站分享的功能怎么做的搜索引擎排名优化价格
  • 住房城乡建设局网站首页sem是什么仪器
  • 武汉网站建设四川seo选哪家
  • 企业检索网站建设网络推广运营公司
  • 济南传承网站建设李聪网站设计专业的公司
  • 如何盗用网站模板排名优化网站建设
  • 住房和城乡建设部贰级建造师网站深圳优化服务
  • 企业网站建设与管理期末考试seo排名赚app官网
  • 网站建设制作设计营销公司杭州微营销系统
  • discuz 网站风格google官方版下载
  • 百度站长工具平台登录网络的推广方式有哪些
  • 三亚网站建设制作湖北网站建设制作
  • html5+css手机网站正规的代运营公司
  • 购物网站建设投资预算拉新推广
  • mac上如何使用wordpress优化设计电子课本
  • 东莞做网站的品牌全案营销策划
  • wordpress网站文章被插入很多黑链接目前最靠谱的推广平台
  • 做任务给佣金的网站有哪些网络推广策划方案
  • 做网站的软件多少钱自己搭建一个网站
  • java网站开发的书籍核心关键词和长尾关键词
  • 商业网站建立长春seo关键词排名
  • 网站分析设计做的项目的过程黑帽seo技术培训
  • 网站建设逻辑推广吧
  • 社交网站制作关键词查网站
  • java做网站的步骤百度优化seo