Java 对list 遍历

本文介绍了一种智能推荐系统的实现方法,该方法通过集合多种类型的产品信息,并根据推荐得分进行排序,最终返回限定数量的推荐结果。文章详细展示了如何整合不同来源的产品数据,为用户提供个性化的推荐列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 productVoList.addAll(productVoListTicket);
            productVoList.addAll(productVoListRoute);
            productVoList.addAll(productVoListHotel);
            if (CollectionUtils.isNotEmpty(productVoList)) {
                productVoList.forEach(o -> o.setRecScore(productScoreMap.get(o.getProductId() + "_" + o.getCategoryId())));
                productVoList.sort((o1, o2) -> o2.getRecScore().compareTo(o1.getRecScore()));
                resultVo.setTotalSize(request.getPageSize());
                resultVo.setHasNext(false);
                resultVo.setRecommendList(productVoList.subList(0, request.getPageSize()));
                resultVo.setRecSceneType("user_view");//固定死  看了又看
                resultVo.setRecBatchId(recBatchId);
                LogUtils.appendLogWeb("返回智能推荐看了又看产品");
                return 1;
            }

 

### 遍历Java中的List的方法 在Java中,可以通过多种方式来遍历`List`集合。以下是几种常见的方法及其示例: #### 使用增强型for循环 增强型for循环是一种简单而直观的方式来遍历列表中的元素[^1]。 ```java import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); list.add("Cherry"); for (String item : list) { // 增强型for循环 System.out.println(item); } } } ``` #### 使用迭代器(Iterator) 通过`Iterator`接口可以显式地控制遍历过程,并支持在遍历时删除元素的操作。 ```java import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Main { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Dog"); list.add("Cat"); list.add("Bird"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { // 使用hasNext()判断是否有下一个元素 String animal = iterator.next(); // 获取当前元素 System.out.println(animal); if ("Cat".equals(animal)) { iterator.remove(); // 安全移除元素 } } System.out.println(list); // 输出剩余的元素 } } ``` #### 使用Lambda表达式和forEach方法 自Java 8起,引入了`forEach`方法以及Lambda表达式,使得代码更加简洁[^3]。 ```java import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<String> languages = Arrays.asList("Java", "C++", "Scala", "Groovy"); // 创建一个不可修改的List[^4] languages.forEach(language -> { // Lambda表达式配合forEach System.out.println(language.toUpperCase()); }); } } ``` #### 结合Stream API进行过滤和处理 同样基于Java 8的功能,还可以利用流操作符对数据集执行复杂的查询或转换。 ```java import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6); numbers.stream() .filter(n -> n % 2 == 0) // 过滤偶数 .forEach(System.out::println); // 打印结果 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Micrle_007

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

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

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

打赏作者

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

抵扣说明:

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

余额充值