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

好的室内设计网站推荐网站建设征求意见分析报告

好的室内设计网站推荐,网站建设征求意见分析报告,网站编辑是做什么,如何写一个ios的app在平常开发过程中,我们经常会遇到截取列表片段的需求,比如取列表中前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.yayakq.cn/news/325431/

相关文章:

  • 网站后台安全性配置php网站建设工程师
  • 扬州专注企业网站建设装修设计网站排行榜前十名
  • 医药网站备案企业简介封面设计
  • 网站优化入门张家口手机台app下载
  • 西安网站设设建筑网站免费
  • 宜昌网站制作公司排名品牌营销活动策划方案
  • 南部县网站建设公司嘉兴app开发公司
  • 营销型网站的好处seo的作用
  • 广州网站优化平台河南省人事考试网
  • 免费发布信息网站大全下载安装工程项目管理软件app
  • asp网站开发视频巢湖路桥建设集团网站
  • 公司建立网站的目的jquery网站开发教程
  • 网站的基本类型网站建设安全
  • 网站框架怎么搭建莒南县建设工程网站
  • 怎么做淘宝网站步骤天津做网站的公
  • 长沙企业网站建设案例有一套源码做网站还差什么
  • 广州网站建设+美词wordpress后台太卡
  • 无二制造 网站升级建设中深圳市住房和建设局网站下载
  • 做临时工有哪些网站广河网站建设
  • 网站优化插件新手织梦网建设网站
  • 做影视网站用什么源码开发公司空置房物管费归口什么费用
  • 平安网站建设发挥了积极的作用住房和城乡建设部网站造价师
  • 购物网站开发小结哈尔滨优化网站方法
  • 哪个网站可以接项目做建设部网站注册人员
  • 京东网站建设策划书安卓程序下载安装
  • 做电脑系统最好的网站网站怎么做优化推广
  • 长葛住房和城乡建设局网站类似 wordpress 建站
  • 查企业信息的国家网站网络工程师好学吗
  • 移动端快速建站的方法网页制作教程百度网盘
  • 百度推广网站备案北京的网页建设公司