java基础类

目录

 一、Map

二、List

三、StringBuilder

四、QueryBuilder


 一、Map

    1、MapUtil.buildMap

MapUtil.buildMap(
          "datas", MapUtil.buildMap("data", list, "pageNo", pageNo, "pageSize", pageSize));

    2、HashMap.values

        values() 方法可以与 for-each 循环一起使用,用来遍历迭代 HashMap 中的所有值。

// 创建一个 HashMap
        HashMap<Integer, String> sites = new HashMap<>();

        // 往 HashMap 添加一些元素
        sites.put(1, "Google");
        sites.put(2, "Runoob");
        sites.put(3, "Taobao");
        System.out.println("sites HashMap: " + sites);

        // 访问 HashMap 中所有的 value
        System.out.print("Values: ");

        // values() 返回所有 value 的一个视图
        // for-each 循环可以 从view中访问每一个value值
        for(String value: sites.values()) {
            // 输出每一个value
            System.out.print(value + ", ");
        }

    3、HashMap.containsKey(key)

查看该HashMap中是否有Key的映射存在,有返回true,没有false

二、List

         1、list.stream().filter

//单条件过滤
        list.stream().filter(e -> e.contains("张")).forEach(System.out::println);
//多条件过滤
        list.stream().filter(a->a.equals("赵八")).
                        filter(a->a.contains("赵")).forEach(System.out::println);
//获取前三个元素
        list.stream().limit(3).forEach(System.out::println);
//跳过前三个元素
        list.stream().skip(3).forEach(System.out::println);
//跳过前三个  获取前两个
        list.stream().skip(3).limit(2).forEach(System.out::println);
//去重
        list.stream().distinct().forEach(System.out::println);

三、StringBuilder


  基础概念:
StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区。即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。
它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。
  常用方法:


  •   基础概念:
    StringBuilder又称为可变字符序列,它是一个类似于 String 的字符串缓冲区。即它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。
    它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容。StringBuilder会自动维护数组的扩容。
      常用方法:
  • public StringBuilder append(...):添加任意类型数据的字符串形式,并返回当前对象自身。拼接
  • public String toString():将当前StringBuilder对象转换为String对象。
//创建对象
		StringBuilder builder = new StringBuilder();
//public StringBuilder append(任意类型)
		StringBuilder builder2 = builder.append("hello");
//对比一下
		System.out.println("builder:"+builder);//builder:hello
		System.out.println("builder2:"+builder2);//builder2:hello
		System.out.println(builder == builder2); //true
// 可以添加 任何类型
		builder.append("hello");
		builder.append("world");
		builder.append(true);
		builder.append(100);

四、QueryBuilder

查询elasticsearch中存储的全部文档

1.matchAllQuery() 用来匹配全部文档

public class QueryTest {
    public static void main(String[] args) {
        //创建对象,设置集群名称和IP地址
        ElasticsearchUtils es = new ElasticsearchUtils("im_shan",
                "localhost");
        String indexName = "school";//索引名称
        String typeName = "student";//类型名称
        //搜索全部文档
        QueryBuilder queryBuilder = QueryBuilders.matchAllQuery();
        SearchResponse searchResponse = es.searcher(indexName, typeName,
            queryBuilder);
        SearchHits hits = searchResponse.getHits();
        SearchHit[] searchHits = hits.getHits();
        int i = 0;
        for (SearchHit searchHit : searchHits) {
            String name = (String) searchHit.getSource().get("name");
            String birth = (String) searchHit.getSource().get("birth");
            String interest = (String) searchHit.getSource().get("interest");
            System.out.println("-------------" + (++i) + "------------");
            System.out.println(name);
            System.out.println(birth);
            System.out.println(interest);
        }
 
    }
}

2.matchQuery(String name,Object  text)

matchQuery("filedname","value")匹配单个字段,匹配字段名为filedname,值为value的文档

//单个匹配,搜索name为jack的文档
QueryBuilder queryBuilder = QueryBuilders.matchQuery("name", "jack");

3.multiMatchQuery(Object text, String... fieldNames)

多个字段匹配某一个值

 QueryBuilder queryBuilder = QueryBuilders.multiMatchQuery("music",
            "name", "interest");//搜索name中或interest中包含有music的文档(必须与music一致)

4.wildcardQuery()模糊查询

WildcardQueryBuilder queryBuilder = QueryBuilders.wildcardQuery("name",
            "*jack*");//搜索名字中含有jack文档(name中只要包含jack即可)

5.使用BoolQueryBuilder进行复合查询

使用must

//模糊查询
WildcardQueryBuilder queryBuilder1 = QueryBuilders.wildcardQuery(
            "name", "*jack*");//搜索名字中含有jack的文档
WildcardQueryBuilder queryBuilder2 = QueryBuilders.wildcardQuery(
            "interest", "*read*");//搜索interest中含有read的文档
 
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
//name中必须含有jack,interest中必须含有read,相当于and
boolQueryBuilder.must(queryBuilder1);
boolQueryBuilder.must(queryBuilder2);

五、StringUtils

isEmpty:判断是否为空

com. baomidou .mybatisplus.core.toolkit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值