Java之Lists.Partition项目中的使用

开心一笑

【媳妇儿问我:“孩子都快出生了,你名字想好了没呀?” 我说:“都想好了,要是生个儿子名字就叫“好帅” 媳妇儿问:“为什么呀?” 我说:“别人看到我就会说,好帅的爸爸。】



提出问题

Java之Lists.Partition在项目中的如何被使用???


学习地址

CSDN学习地址: http://edu.csdn.net/lecturer/994

51CTO学习地址:http://edu.51cto.com/lecturer/5592452.html

腾讯学院学习地址:https://huangwy.ke.qq.com/

解决问题

前言

具体示例:

/**
 * 描述:Guava工具类partition使用
 *
 * @author Ay
 * @date 2017/10/22
 */
public class Lists_Partition {


    Logger log = LoggerFactory.getLogger(Lists_Partition.class);


    public static void main(String[] args) {

        //step.1 集合切割正常逻辑
        List<Integer> numList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8);

        List<List<Integer>> partList = Lists.partition(numList, 3);
        if (!CollectionUtils.isEmpty(partList)) {
            for (List<Integer> list : partList) {
                System.out.println(list.toString());
            }
        }

        //step.2 切割数量大于集合数量
        List<Integer> numList2 = Lists.newArrayList(1);
        List<List<Integer>> partList2 = Lists.partition(numList2, 3);
        if (!CollectionUtils.isEmpty(partList2)) {
            for (List<Integer> list : partList2) {
                System.out.println(list.toString());
            }
        }


        //step.3 修改切割后的集合,检查原集合是否被修改
        List<Integer> numList3 = Lists.newArrayList(1,2,3,4,5,6,7,89,9);

        List<List<Integer>> partList3 = Lists.partition(numList3, 3);
        if (!CollectionUtils.isEmpty(partList3)) {
            for (List<Integer> list : partList3) {
                for(int i=0,len = list.size();i<len;i++){
                    list.set(i,8);
                }
            }
            //打印原集合
            System.out.println(numList3.toString());

        }

        //注意:partition返回的是原list的subview.视图,即原list改变后,partition之后的结果也会随着改变

        //step.4 List.partition()在真实项目中的运用
        List<Integer> numList4 = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8, 9);

        List<List<Integer>> partList4 = Lists.partition(numList4, 100);
        if (!CollectionUtils.isEmpty(partList4)) {

            for (List<Integer> list : partList4) {
                //将切割的集合按照固定数量查询数据库
                //xxxx.findById(list)
                //select * from user u where u.id in (1,2,3 ....) 这里的id数量不要超过100个
            }

        }


    }


}

结束语


你的鼓励,我的动力,一分都是爱



读书感悟

来自《大好时光》

  • 人生是用来快乐的,不是用来纠结的。
  • 你想把自己的影子抛到身后,你就要正视你面前的阳光。
  • 隐藏在心底的伤口,要么随着时间渐渐抚平,要么随着时间慢慢溃烂。

经典故事

【早年在美国阿拉斯加地方,有一对年轻人结婚,婚后生育,他的太太因难产而死,遗下一孩子。他忙生活,又忙于看家,因没有人帮忙看孩子,就训练一只狗,那狗聪明听话,能照顾小孩,咬着奶瓶喂奶给孩子喝,抚养孩子。有一天,主人出门去了,叫它照顾孩子。他到了别的乡村,因遇大雪,当日不能回来。第二天才赶回家,狗立即闻声出来迎接主人。他把房门开一看,到处是血,抬头一望,床上也是血,孩子不见了,狗在身边,满口也是血,主人发现这种情形,以为狗性发作,把孩子吃掉了,大怒之下,拿起刀来向着狗头一劈,把狗杀死了。之后,忽然听到孩子的声音,又见他从床下爬了出来,于是抱起孩子;虽然身上有血,但并未受伤。他很奇怪,不知究竟是怎么一回事,再看看狗身,腿上的肉没有了,旁边有一只狼,口里还咬着狗的肉;狗救了小主人,却被主人误杀了,这真是天下最令人惊奇的误会。

注:误会的事,是人往往在不了解、无理智、无耐心、缺少思考、未能多方体谅对方,反省自己,感情极为冲动的情况之下所发生。误会一开始,即一直只想到对方的千错万错;因此,会使误会越陷越深,弄到不可收拾的地步,人对无知的动物小狗发生误会,尚且会有如此可怕严重的后果,这样人与人之间的误会,则其后果更是难以想象。


大神文章

【1】java 将list按照指定数量分成小list


其他

如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎鼓励,点赞、顶、欢迎留下宝贵的意见、多谢支持!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿_毅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值