Java常识记录

常用各类数据分割转换的方法

1、将String 类型数据转换成List<String>

代码:

String yearAndMonths = "2022年4月,2022年3月,2021年9月,2021年6月,2021年5月";
List<String> yearAndMonthList = Arrays.asList(yearAndMonths.split(","));

1-1、反向将List<String> 类型数据转换成String(反向操作)

代码:

List<String> dataList = Arrays.asList("2022年4月,2022年3月,2021年9月,2021年6月,2021年5月".split(","));
String resultData = String.join(",",dataList)

 

2、将List<String> data1 和 List<String> data2 两个数据进行排重合并

代码:

String dataFirsts = "2022年4月,2022年3月,2021年9月,2021年6月,2021年5月";
String dataSeconds = "2022年4月,2022年1月,2021年7月";
List<String> dataFirst = Arrays.asList(dataFirsts.split(","));
List<String> dataSecond = Arrays.asList(dataSeconds.split(","));
List<String> resultData =
        Stream.of(dataFirst,dataSecond).flatMap(Collection::stream).distinct().collect(Collectors.toList());

3、将List<String> 类型的数据按照自然排序,降序排列

代码:

List<String> DataList = Arrays.asList("2022年4月,2022年3月,2021年9月,2021年6月,2021年5月".split(","));
List<String> resultData =
        DataList.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());

4、将String  类型数据转换成List<Object> 数据

代码:

String listObjects = "[\n" +
                    "{\n" +
                    "\"cId\":\"1511893656624275457\",\n" +
                    "\"users\":\"B\"\n" +
                    "},\n" +
                    "{\n" +
                    "\"cId\":\"1511957031781666818\",\n" +
                    "\"users\":\"C\"\n" +
                    "}\n" +
                    "]"
List<UserObject> result = JSONObject.parseArray(listObjects,UserObject.class);

 5、List<Object> 数据中是否包含某一个Object

代码(一):

List<String> DataList = Arrays.asList("2022年4月,2022年3月,2021年9月,2021年6月,2021年5月".split(","));
boolean b = DataList .stream().anyMatch(m -> m.equals("2022年4月"))

代码(二):

List<String> DataList = Arrays.asList("2022年4月,2022年3月,2021年9月,2021年6月,2021年5月".split(","));
boolean b = DataList .stream().filter(m -> m.equals("2022年4月")).findAny().isPresent();

 6、QueryWrapper的方法图

方法名
说明
使用
allEq(Map<R, V> params)
全部 =(或个别 isNull)
allEq(params,true)
eq
等于=
eq(“real_name”,“王昭君”)
ne
不等于<>
ne(“nick_name”,“空想 4”)
gt
大于>
gt(“age”,21)
ge
大于等于>=
ge(“age”,22)
lt
小于<
lt(“age”,22)
le
小于等于<=
le(“age”,21")
between
cloum between ? and ?
between(“age”,0,21)
notBetween
cloum between ? and ?
notBetween(“age”,0,21)
like
cloum like ‘% 王 %’
like(“real_name”,“王”)
notLike
not like ‘% 王 %’
notLike(“real_name”,“王”)
likeLeft
like ‘% 王’
likeLeft(“real_name”,“昭”)
likeRight
like ‘王 %’
likeRight(“real_name”,“昭”)
isNull
is null
isNull(“gender”)
isNotNull
is not null
isNotNull(“gender”)
in
in (1,2,3)
in(“nick_name”,lists)
notIn
age not in (1,2,3)
notIn(“nick_name”,lists)
inSql
age in (1,2,3,4,5,6)
inSql(“nick_name”,"‘空想 4’,‘空想 5’,‘空想 6’")
notInSql
age not in (1,2,3,4,5,6)
notInSql(“nick_name”,"‘空想 4’,‘空想 5’,‘空想 6’")
groupBy
group by id,name
groupBy(“nick_name”,“age”)
orderByAsc
order by id ASC,name ASC
orderByAsc(“nick_name”,“age”)
orderByDesc
order by id DESC,name DESC
orderByDesc(“age”)
orderBy
order by id ASC,name ASC
orderBy(true,true,“age”)
having
having sum(age) > 10
having(“sum(age) > 10”)
or
id = 1 or name = ‘老王’
eq(“nick_name”,“空想 4”).or(i->i.eq(“age”,21) eq(“nick_name”,“空想 4”).or().eq(“nick_name”,“空想 5”)
and
and (name = ‘李白’ and status <> ‘活着’)
and(i->i.eq(“age”,21))
nested
(name = ‘李白’ and status <> ‘活着’)
nested(i->i.eq(“age”,21).eq(“nick_name”,“空想 4”))
apply
拼接sql 
apply(“nick_name = ‘空想 4’”)
last
最后添加多个以最后的为准,有 sql 注入风险
last(“limit 1”)
特殊用到:随机获取3条数据方法:.last(" order by rand() limit 3")
exists
拼接 EXISTS (sql 语句)
exists(“select id from table where age = 1”)
notExists
拼接 NOT EXISTS (sql 语句)
notExists(“select id from table where age = 1”)
posted @ 2022-04-08 15:10  随风去远方  阅读(27)  评论(0编辑  收藏  举报
// 博客园添加鼠标粒子吸附特效