List的一些用法

1.从一个List取出另一个List不包含的元素;

demo如下:

public class Test {

    public static void main(String[] args) {
        List<String> blanklist = new ArrayList<>();
        blanklist.add("1");
        blanklist.add("2");
        blanklist.add("3");
        blanklist.add("4");
        blanklist.add("5");
        List<String> newTelephones = new ArrayList<>();
        newTelephones.add("2");
        newTelephones.add("3");
        newTelephones.add("6");
        newTelephones.add("7");
        newTelephones.add("8");
        newTelephones.add("9");
        newTelephones.removeAll(blanklist);
        System.out.println(newTelephones);
    }
}

运行结果:

[6, 7, 8, 9]


2.取出两个List的交集和两个List不同的元素;

demo如下:

public class Test {

    public static void main(String[] args) {
        Long[] id ={1L,2L,3L,4L,5L,6L};
        Long[] ids ={1L,2L,7L,8L,9L,10L};
        //Arrays.asList(id)把数组转出List集合
        List<Long> oldUserId = new ArrayList<>(Arrays.asList(id));
        List<Long> newUserId = new ArrayList<>(Arrays.asList(ids));

        List<Long> intersectionUserId = new ArrayList<>();
        intersectionUserId.addAll(oldUserId);

        //1.2 取出交集
        intersectionUserId.retainAll(newUserId);
        System.out.println("交集"+intersectionUserId);
        oldUserId.removeAll(intersectionUserId);  //需要删除的信息
        System.out.println("oldUserId去除交集元素的集合"+oldUserId);
        newUserId.removeAll(intersectionUserId);  //需要添加的数据
        System.out.println("newUserId去除交集元素的集合"+newUserId);
    }
}
运行结果:
交集[1, 2]
oldUserId去除交集元素的集合[3, 4, 5, 6]
newUserId去除交集元素的集合[7, 8, 9, 10]
 
3.判断List是否为空
3.1)直接创建一个数组
 
public class Test3 {
    public static void main(String[] args) {

        List<Long> list = new LinkedList<>();
        System.out.println(list);
        System.out.println(list.size());
        System.out.println(list.isEmpty());
        System.out.println(list == null);
    }
}
 
运行结果:
[]
0
true
false
3.2)从数据库查询出一个数组
数据库数据:
 
请求路径:(GET请求)
http://localhost:8080/test-api/test/select
代码:
@Controller
@RequestMapping("test-api/test")
public class TestController {

    private static final Logger LOGGER = LoggerFactory.getLogger(TestController.class);

    @Autowired
    private CommentaryProjectService commentaryProjectService;
    @Autowired
    private CommentaryUserPapersService commentaryUserPapersService;

    @RequestMapping(value = "select", method = RequestMethod.GET)
    @ResponseBody
    public ResultTO select() {
        Map<String,Object> map = new HashMap<>();
        List<CommentaryProject> list = commentaryProjectService.selectObjectList(map);
        try {
            System.out.println(list);
        } catch (Exception e) {
            return ResultTO.newFailResultTO("查询失败", null);
        }
        return ResultTO.newSuccessResultTO("查询成功", list);
    }
}
运行结果:
[]

@Controller
@RequestMapping("test-api/test")
public class TestController {

    private static final Logger LOGGER = LoggerFactory.getLogger(TestController.class);

    @Autowired
    private CommentaryProjectService commentaryProjectService;
    @Autowired
    private CommentaryUserPapersService commentaryUserPapersService;

    @RequestMapping(value = "select", method = RequestMethod.GET)
    @ResponseBody
    public ResultTO select() {
        Map<String,Object> map = new HashMap<>();
        List<CommentaryProject> list = null;
        try {
            list = commentaryProjectService.selectObjectList(map);
            System.out.println(list);
        } catch (Exception e) {
            return ResultTO.newFailResultTO("查询失败", null);
        }
        return ResultTO.newSuccessResultTO("查询成功", list);
    }
}
运行结果:
[]
总结:如果在查询之前抛出一个异常,则运行结果为:null
 
4.List的一些方法使用:
public class Test3 {
    public static void main(String[] args) {
		List<String> list = new LinkedList<>();
        list.add("xiaoming");
        list.add("xiaohong");
        list.add("xiaohua");
        list.add("xiaobai");
        list.add("xiaoli");
        list.add("xiaofei");
        System.out.println(list);      //运行结果: [xiaoming, xiaohong, xiaohua, xiaobai, xiaoli, xiaofei](数组)
        String string = list.toString();
        System.out.println(string);    //运行结果: [xiaoming, xiaohong, xiaohua, xiaobai, xiaoli, xiaofei](字符串)
        String substring = string.substring(1, string.length() - 1);
        System.out.println(substring);  //运行结果: xiaoming, xiaohong, xiaohua, xiaobai, xiaoli, xiaofei(字符串)
        String replace = substring.replace(",", "");
        System.out.println(replace);    //运行结果: xiaoming xiaohong xiaohua xiaobai xiaoli xiaofei(字符串)
        System.out.println(replace.toString()); //运行结果: xiaoming xiaohong xiaohua xiaobai xiaoli xiaofei(字符串)
        String s = NetDateUtil.dateToString(new Date(), NetDateUtil.DATE_PATTERN);
        System.out.println(s); //运行结果: 20171109101429
	}
}

5. 取出重复元素

//将字符串转换为JSONArray对象
JSONArray jsonArray = JSONArray.parseArray(financeNumberParam);
List<String> list = new ArrayList<>();
Set<String> set = new HashSet<>();
for (int i = 0; i < jsonArray.size(); i++) {
    //获取json对象
    JSONObject jsonObject = jsonArray.getJSONObject(i);
    Long financeNumberId = jsonObject.getLong("financeNumberId");
    String financeNumbers = jsonObject.getString("financeNumber");
    set.add(financeNumbers);
    list.add(financeNumbers);

    SalaryFinanceNumber salaryFinanceNumber = new SalaryFinanceNumber();
    salaryFinanceNumber.setId(financeNumberId);
    salaryFinanceNumber.setFinanceNumber(financeNumbers);
    salaryFinanceNumberDao.update(salaryFinanceNumber);
}

Collection disjunction = CollectionUtils.disjunction(list, set);
if (!disjunction.isEmpty()){
    throw new CustomException(ResultTO.newFailResultTO("财务编号:"+disjunction+"重复",null));
}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
List是Java中的一个接口,它是一个有序的集合,可以存储各种类型的元素。它的常见实现类有ArrayList和LinkedList。使用List可以进行以下操作: 1. 创建一个List对象:可以使用ArrayList或者LinkedList类来创建一个List对象。例如: List<String> list = new ArrayList<>(); // 创建一个ArrayList对象 List<Integer> list = new LinkedList<>(); // 创建一个LinkedList对象 2. 添加元素:使用add()方法可以向List中添加元素。例如: list.add("apple"); // 将"apple"添加到List中 3. 获取元素:使用get()方法可以根据索引获取List中的元素。索引从0开始。例如: String element = list.get(0); // 获取List中索引为0的元素 4. 修改元素:使用set()方法可以修改List中的元素。例如: list.set(0, "banana"); // 将索引为0的元素修改为"banana" 5. 删除元素:使用remove()方法可以从List中删除元素。可以根据索引删除元素,也可以根据元素值删除元素。例如: list.remove(0); // 删除索引为0的元素 list.remove("banana"); // 删除值为"banana"的元素 6. 遍历List:可以使用for循环或者迭代器来遍历List中的元素。例如: for (String element : list) { System.out.println(element); } 7. 判断List是否为空:使用isEmpty()方法可以判断List是否为空。例如: boolean isEmpty = list.isEmpty(); // 如果List为空,isEmpty为true 8. 获取List的大小:使用size()方法可以获取List中元素的个数。例如: int size = list.size(); // 获取List的大小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值