详解Java集合(含代码输出结果)

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云原生内存数据库 Tair,内存型 2GB
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 我们常用的集合List Set Map各有优点缺点实现类无非ArrayList/LinkedList/HashSet/TreeSet/LinkedHashSet/HashMap/TreeMap/LinkedHashMap

我们常用的集合

List Set Map

各有优点缺点

实现类无非ArrayList/LinkedList/HashSet/TreeSet/LinkedHashSet/HashMap/TreeMap/LinkedHashMap

ArrayList底层数组,查询快,增删慢;LinkedList底层双链表,查询慢,增删快。


ArrayList直接根据数组的标号去查单个就可以了,所以查询快。但是如果删除了2,这是一个步骤,然后3和4要向前移动,这又是两步,所以删除慢,增加也是如此。

LinkedList是双链表结构,查询要从头到尾去查,删除只需把元素前下标和后下标断开,让前元素和后元素相连即可。所以查询慢,增删快。


ArrayList复杂度O(1),底层数组; LinkedList复杂度O(n),底层链表

LinkedList比ArrayList更占内存。


HashSet、HashMap执行的速度很快,但是不保证插入顺序,可以保证遍历输出顺序

TreeSet、TreeMap按照比较结果的升序保存键

LinkedHashSet、LinedHashMap按照插入顺序保存、可以保证插入顺序


最后续上代码

test

package com.ruoyi.system.test;
import com.ruoyi.system.api.domain.SysFile;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.*;
/**
 * @author kegekeqi
 * @version 1.0
 * @date 2021-11-14 11:24
 */
@SpringBootTest
public class CollectionsTest {
  @Test
  public void test() {
    System.out.println(fill(new ArrayList<>()));
    System.out.println(fill(new LinkedList<>()));
    System.out.println(fill(new HashSet<>()));
    System.out.println(fill(new TreeSet<>()));
    System.out.println(fill(new LinkedHashSet<>()));
    System.out.println(fill(new HashMap<>()));
    System.out.println(fill(new TreeMap<>()));
    System.out.println(fill(new LinkedHashMap<>()));
  }
  static Collection fill(Collection<String> collection) {
    collection.add("rat");
    collection.add("cat");
    collection.add("dog");
    collection.add("dog");
    return collection;
  }
  static Map fill(Map<String, Object> map) {
    SysFile SysFileOne = new SysFile();
    SysFileOne.setName("Fuzzy");
    map.put("rat", SysFileOne);
    SysFile SysFileTwo = new SysFile();
    SysFileTwo.setName("Rags");
    map.put("cat", SysFileTwo);
    SysFile SysFileThree = new SysFile();
    SysFileThree.setName("Bosco");
    map.put("dog", SysFileThree);
    SysFile SysFileFour = new SysFile();
    SysFileFour.setName("Spot");
    map.put("dog", SysFileFour);
    return map;
  }
}

实体类

package com.ruoyi.system.api.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
 * 文件信息
 * 
 * @author ruoyi
 */
public class SysFile
{
    /**
     * 文件名称
     */
    private String name;
    /**
     * 文件地址
     */
    private String url;
    public String getName()
    {
        return name;
    }
    public void setName(String name)
    {
        this.name = name;
    }
    public String getUrl()
    {
        return url;
    }
    public void setUrl(String url)
    {
        this.url = url;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("name", getName())
            .append("url", getUrl())
            .toString();
    }
}

输出结果

"D:\Program Files\Java\jdk1.8.0_251\bin\java" -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:D:\idea2017.2.5\ideaIU-2017.2.5.win\lib\idea_rt.jar=51618:D:\idea2017.2.5\ideaIU-2017.2.5.win\bin -Dfile.encoding=UTF-8 -classpath "D:\idea2017.2.5\ideaIU-2017.2.5.win\lib\idea_rt.jar;D:\idea2017.2.5\ideaIU-2017.2.5.win\plugins\junit\lib\junit-rt.jar;D:\idea2017.2.5\ideaIU-2017.2.5.win\plugins\junit\lib\junit5-rt.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\charsets.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\deploy.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\access-bridge-64.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\cldrdata.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\dnsns.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\jaccess.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\jfxrt.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\localedata.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\nashorn.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\sunec.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\sunjce_provider.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\sunmscapi.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\sunpkcs11.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\ext\zipfs.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\javaws.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\jce.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\jfr.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\jfxswt.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\jsse.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\management-agent.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\plugin.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\resources.jar;D:\Program Files\Java\jdk1.8.0_251\jre\lib\rt.jar;D:\code\RuoYi-Cloud\ruoyi-modules\ruoyi-system\target\classes;D:\repository\com\alibaba\cloud\spring-cloud-starter-alibaba-nacos-discovery\2021.1\spring-cloud-starter-alibaba-nacos-discovery-2021.1.jar;D:\repository\com\alibaba\cloud\spring-cloud-alibaba-commons\2021.1\spring-cloud-alibaba-commons-2021.1.jar;D:\repository\com\alibaba\nacos\nacos-client\2.0.3\nacos-client-2.0.3.jar;D:\repository\commons-codec\commons-codec\1.15\commons-codec-1.15.jar;D:\repository\com\fasterxml\jackson\core\jackson-core\2.12.5\jackson-core-2.12.5.jar;D:\repository\com\fasterxml\jackson\core\jackson-databind\2.12.5\jackson-databind-2.12.5.jar;D:\repository\com\fasterxml\jackson\core\jackson-annotations\2.12.5\jackson-annotations-2.12.5.jar;D:\repository\org\apache\httpcomponents\httpasyncclient\4.1.4\httpasyncclient-4.1.4.jar;D:\repository\org\apache\httpcomponents\httpcore\4.4.14\httpcore-4.4.14.jar;D:\repository\org\apache\httpcomponents\httpcore-nio\4.4.14\httpcore-nio-4.4.14.jar;D:\repository\org\apache\httpcomponents\httpclient\4.5.13\httpclient-4.5.13.jar;D:\repository\org\reflections\reflections\0.9.11\reflections-0.9.11.jar;D:\repository\com\google\guava\guava\20.0\guava-20.0.jar;D:\repository\org\javassist\javassist\3.21.0-GA\javassist-3.21.0-GA.jar;D:\repository\io\prometheus\simpleclient\0.10.0\simpleclient-0.10.0.jar;D:\repository\org\yaml\snakeyaml\1.28\snakeyaml-1.28.jar;D:\repository\com\alibaba\spring\spring-context-support\1.0.10\spring-context-support-1.0.10.jar;D:\repository\org\springframework\cloud\spring-cloud-commons\3.0.4\spring-cloud-commons-3.0.4.jar;D:\repository\org\springframework\security\spring-security-crypto\5.5.3\spring-security-crypto-5.5.3.jar;D:\repository\org\springframework\cloud\spring-cloud-context\3.0.4\spring-cloud-context-3.0.4.jar;D:\repository\com\alibaba\cloud\spring-cloud-starter-alibaba-nacos-config\2021.1\spring-cloud-starter-alibaba-nacos-config-2021.1.jar;D:\repository\com\alibaba\cloud\spring-cloud-starter-alibaba-sentinel\2021.1\spring-cloud-starter-alibaba-sentinel-2021.1.jar;D:\repository\com\alibaba\csp\sentinel-transport-simple-http\1.8.0\sentinel-transport-simple-http-1.8.0.jar;D:\repository\com\alibaba\csp\sentinel-transport-common\1.8.0\sentinel-transport-common-1.8.0.jar;D:\repository\com\alibaba\csp\sentinel-datasource-extension\1.8.0\sentinel-datasource-extension-1.8.0.jar;D:\repository\com\alibaba\fastjson\1.2.78\fastjson-1.2.78.jar;D:\repository\com\alibaba\csp\sentinel-annotation-aspectj\1.8.0\sentinel-annotation-aspectj-1.8.0.jar;D:\repository\com\alibaba\csp\sentinel-core\1.8.0\sentinel-core-1.8.0.jar;D:\repository\org\aspectj\aspectjrt\1.9.7\aspectjrt-1.9.7.jar;D:\repository\org\aspectj\aspectjweaver\1.9.7\aspectjweaver-1.9.7.jar;D:\repository\com\alibaba\cloud\spring-cloud-circuitbreaker-sentinel\2021.1\spring-cloud-circuitbreaker-sentinel-2021.1.jar;D:\repository\com\alibaba\csp\sentinel-reactor-adapter\1.8.0\sentinel-reactor-adapter-1.8.0.jar;D:\repository\com\alibaba\csp\sentinel-spring-webflux-adapter\1.8.0\sentinel-spring-webflux-adapter-1.8.0.jar;D:\repository\com\alibaba\csp\sentinel-spring-webmvc-adapter\1.8.0\sentinel-spring-webmvc-adapter-1.8.0.jar;D:\repository\com\alibaba\csp\sentinel-parameter-flow-control\1.8.0\sentinel-parameter-flow-control-1.8.0.jar;D:\repository\com\googlecode\concurrentlinkedhashmap\concurrentlinkedhashmap-lru\1.4.2\concurrentlinkedhashmap-lru-1.4.2.jar;D:\repository\com\alibaba\csp\sentinel-cluster-server-default\1.8.0\sentinel-cluster-server-default-1.8.0.jar;D:\repository\com\alibaba\csp\sentinel-cluster-common-default\1.8.0\sentinel-cluster-common-default-1.8.0.jar;D:\repository\io\netty\netty-handler\4.1.69.Final\netty-handler-4.1.69.Final.jar;D:\repository\io\netty\netty-common\4.1.69.Final\netty-common-4.1.69.Final.jar;D:\repository\io\netty\netty-resolver\4.1.69.Final\netty-resolver-4.1.69.Final.jar;D:\repository\io\netty\netty-buffer\4.1.69.Final\netty-buffer-4.1.69.Final.jar;D:\repository\io\netty\netty-transport\4.1.69.Final\netty-transport-4.1.69.Final.jar;D:\repository\io\netty\netty-codec\4.1.69.Final\netty-codec-4.1.69.Final.jar;D:\repository\com\alibaba\csp\sentinel-cluster-client-default\1.8.0\sentinel-cluster-client-default-1.8.0.jar;D:\repository\com\alibaba\cloud\spring-cloud-alibaba-sentinel-datasource\2021.1\spring-cloud-alibaba-sentinel-datasource-2021.1.jar;D:\repository\org\springframework\boot\spring-boot-starter-actuator\2.5.6\spring-boot-starter-actuator-2.5.6.jar;D:\repository\org\springframework\boot\spring-boot-starter\2.5.6\spring-boot-starter-2.5.6.jar;D:\repository\org\springframework\boot\spring-boot-autoconfigure\2.5.6\spring-boot-autoconfigure-2.5.6.jar;D:\repository\org\springframework\boot\spring-boot-starter-logging\2.5.6\spring-boot-starter-logging-2.5.6.jar;D:\repository\ch\qos\logback\logback-classic\1.2.6\logback-classic-1.2.6.jar;D:\repository\ch\qos\logback\logback-core\1.2.6\logback-core-1.2.6.jar;D:\repository\org\apache\logging\log4j\log4j-to-slf4j\2.14.1\log4j-to-slf4j-2.14.1.jar;D:\repository\org\apache\logging\log4j\log4j-api\2.14.1\log4j-api-2.14.1.jar;D:\repository\org\slf4j\jul-to-slf4j\1.7.32\jul-to-slf4j-1.7.32.jar;D:\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;D:\repository\org\springframework\spring-core\5.3.12\spring-core-5.3.12.jar;D:\repository\org\springframework\spring-jcl\5.3.12\spring-jcl-5.3.12.jar;D:\repository\org\springframework\boot\spring-boot-actuator-autoconfigure\2.5.6\spring-boot-actuator-autoconfigure-2.5.6.jar;D:\repository\org\springframework\boot\spring-boot-actuator\2.5.6\spring-boot-actuator-2.5.6.jar;D:\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.12.5\jackson-datatype-jsr310-2.12.5.jar;D:\repository\io\micrometer\micrometer-core\1.7.5\micrometer-core-1.7.5.jar;D:\repository\org\hdrhistogram\HdrHistogram\2.1.12\HdrHistogram-2.1.12.jar;D:\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;D:\repository\io\springfox\springfox-swagger-ui\3.0.0\springfox-swagger-ui-3.0.0.jar;D:\repository\io\springfox\springfox-spring-webmvc\3.0.0\springfox-spring-webmvc-3.0.0.jar;D:\repository\io\springfox\springfox-spi\3.0.0\springfox-spi-3.0.0.jar;D:\repository\io\springfox\springfox-schema\3.0.0\springfox-schema-3.0.0.jar;D:\repository\io\springfox\springfox-core\3.0.0\springfox-core-3.0.0.jar;D:\repository\net\bytebuddy\byte-buddy\1.10.22\byte-buddy-1.10.22.jar;D:\repository\io\springfox\springfox-spring-web\3.0.0\springfox-spring-web-3.0.0.jar;D:\repository\io\github\classgraph\classgraph\4.8.83\classgraph-4.8.83.jar;D:\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;D:\repository\org\slf4j\slf4j-api\1.7.32\slf4j-api-1.7.32.jar;D:\repository\org\springframework\plugin\spring-plugin-core\2.0.0.RELEASE\spring-plugin-core-2.0.0.RELEASE.jar;D:\repository\org\springframework\spring-beans\5.3.12\spring-beans-5.3.12.jar;D:\repository\org\springframework\spring-aop\5.3.12\spring-aop-5.3.12.jar;D:\repository\org\springframework\plugin\spring-plugin-metadata\2.0.0.RELEASE\spring-plugin-metadata-2.0.0.RELEASE.jar;D:\repository\mysql\mysql-connector-java\8.0.27\mysql-connector-java-8.0.27.jar;D:\code\RuoYi-Cloud\ruoyi-common\ruoyi-common-datasource\target\classes;D:\repository\com\alibaba\druid-spring-boot-starter\1.2.8\druid-spring-boot-starter-1.2.8.jar;D:\repository\com\alibaba\druid\1.2.8\druid-1.2.8.jar;D:\repository\com\baomidou\dynamic-datasource-spring-boot-starter\3.4.1\dynamic-datasource-spring-boot-starter-3.4.1.jar;D:\repository\org\springframework\boot\spring-boot-starter-jdbc\2.5.6\spring-boot-starter-jdbc-2.5.6.jar;D:\repository\com\zaxxer\HikariCP\4.0.3\HikariCP-4.0.3.jar;D:\repository\org\springframework\spring-jdbc\5.3.12\spring-jdbc-5.3.12.jar;D:\repository\org\springframework\spring-tx\5.3.12\spring-tx-5.3.12.jar;D:\repository\org\springframework\boot\spring-boot-starter-aop\2.5.6\spring-boot-starter-aop-2.5.6.jar;D:\repository\com\alibaba\cloud\spring-cloud-starter-alibaba-seata\2021.1\spring-cloud-starter-alibaba-seata-2021.1.jar;D:\repository\io\seata\seata-spring-boot-starter\1.3.0\seata-spring-boot-starter-1.3.0.jar;D:\repository\io\seata\seata-all\1.3.0\seata-all-1.3.0.jar;D:\repository\io\netty\netty-all\4.1.69.Final\netty-all-4.1.69.Final.jar;D:\repository\io\netty\netty-codec-dns\4.1.69.Final\netty-codec-dns-4.1.69.Final.jar;D:\repository\io\netty\netty-codec-haproxy\4.1.69.Final\netty-codec-haproxy-4.1.69.Final.jar;D:\repository\io\netty\netty-codec-http\4.1.69.Final\netty-codec-http-4.1.69.Final.jar;D:\repository\io\netty\netty-codec-http2\4.1.69.Final\netty-codec-http2-4.1.69.Final.jar;D:\repository\io\netty\netty-codec-memcache\4.1.69.Final\netty-codec-memcache-4.1.69.Final.jar;D:\repository\io\netty\netty-codec-mqtt\4.1.69.Final\netty-codec-mqtt-4.1.69.Final.jar;D:\repository\io\netty\netty-codec-redis\4.1.69.Final\netty-codec-redis-4.1.69.Final.jar;D:\repository\io\netty\netty-codec-smtp\4.1.69.Final\netty-codec-smtp-4.1.69.Final.jar;D:\repository\io\netty\netty-codec-socks\4.1.69.Final\netty-codec-socks-4.1.69.Final.jar;D:\repository\io\netty\netty-codec-stomp\4.1.69.Final\netty-codec-stomp-4.1.69.Final.jar;D:\repository\io\netty\netty-codec-xml\4.1.69.Final\netty-codec-xml-4.1.69.Final.jar;D:\repository\com\fasterxml\aalto-xml\1.0.0\aalto-xml-1.0.0.jar;D:\repository\org\codehaus\woodstox\stax2-api\4.0.0\stax2-api-4.0.0.jar;D:\repository\io\netty\netty-handler-proxy\4.1.69.Final\netty-handler-proxy-4.1.69.Final.jar;D:\repository\io\netty\netty-resolver-dns\4.1.69.Final\netty-resolver-dns-4.1.69.Final.jar;D:\repository\io\netty\netty-transport-rxtx\4.1.69.Final\netty-transport-rxtx-4.1.69.Final.jar;D:\repository\org\rxtx\rxtx\2.1.7\rxtx-2.1.7.jar;D:\repository\io\netty\netty-transport-sctp\4.1.69.Final\netty-transport-sctp-4.1.69.Final.jar;D:\repository\io\netty\netty-transport-udt\4.1.69.Final\netty-transport-udt-4.1.69.Final.jar;D:\repository\com\barchart\udt\barchart-udt-bundle\2.3.0\barchart-udt-bundle-2.3.0.jar;D:\repository\io\netty\netty-transport-native-epoll\4.1.69.Final\netty-transport-native-epoll-4.1.69.Final.jar;D:\repository\io\netty\netty-transport-native-unix-common\4.1.69.Final\netty-transport-native-unix-common-4.1.69.Final.jar;D:\repository\io\netty\netty-transport-native-kqueue\4.1.69.Final\netty-transport-native-kqueue-4.1.69.Final.jar;D:\repository\io\netty\netty-resolver-dns-native-macos\4.1.69.Final\netty-resolver-dns-native-macos-4.1.69.Final.jar;D:\repository\io\netty\netty-transport-native-epoll\4.1.69.Final\netty-transport-native-epoll-4.1.69.Final-linux-x86_64.jar;D:\repository\io\netty\netty-transport-native-epoll\4.1.69.Final\netty-transport-native-epoll-4.1.69.Final-linux-aarch_64.jar;D:\repository\io\netty\netty-transport-native-kqueue\4.1.69.Final\netty-transport-native-kqueue-4.1.69.Final-osx-x86_64.jar;D:\repository\io\netty\netty-transport-native-kqueue\4.1.69.Final\netty-transport-native-kqueue-4.1.69.Final-osx-aarch_64.jar;D:\repository\io\netty\netty-resolver-dns-native-macos\4.1.69.Final\netty-resolver-dns-native-macos-4.1.69.Final-osx-x86_64.jar;D:\repository\io\netty\netty-resolver-dns-native-macos\4.1.69.Final\netty-resolver-dns-native-macos-4.1.69.Final-osx-aarch_64.jar;D:\repository\com\typesafe\config\1.2.1\config-1.2.1.jar;D:\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;D:\repository\org\apache\commons\commons-pool2\2.10.0\commons-pool2-2.10.0.jar;D:\repository\commons-pool\commons-pool\1.6\commons-pool-1.6.jar;D:\repository\com\google\protobuf\protobuf-java\3.7.1\protobuf-java-3.7.1.jar;D:\repository\cglib\cglib\3.1\cglib-3.1.jar;D:\repository\org\ow2\asm\asm\4.2\asm-4.2.jar;D:\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;D:\repository\com\github\ben-manes\caffeine\caffeine\2.9.2\caffeine-2.9.2.jar;D:\repository\org\checkerframework\checker-qual\3.10.0\checker-qual-3.10.0.jar;D:\repository\com\google\errorprone\error_prone_annotations\2.5.1\error_prone_annotations-2.5.1.jar;D:\code\RuoYi-Cloud\ruoyi-common\ruoyi-common-datascope\target\classes;D:\code\RuoYi-Cloud\ruoyi-common\ruoyi-common-security\target\classes;D:\repository\org\springframework\spring-webmvc\5.3.12\spring-webmvc-5.3.12.jar;D:\repository\org\springframework\spring-expression\5.3.12\spring-expression-5.3.12.jar;D:\code\RuoYi-Cloud\ruoyi-api\ruoyi-api-system\target\classes;D:\code\RuoYi-Cloud\ruoyi-common\ruoyi-common-core\target\classes;D:\repository\org\springframework\cloud\spring-cloud-starter-openfeign\3.0.4\spring-cloud-starter-openfeign-3.0.4.jar;D:\repository\org\springframework\cloud\spring-cloud-openfeign-core\3.0.4\spring-cloud-openfeign-core-3.0.4.jar;D:\repository\io\github\openfeign\form\feign-form-spring\3.8.0\feign-form-spring-3.8.0.jar;D:\repository\io\github\openfeign\form\feign-form\3.8.0\feign-form-3.8.0.jar;D:\repository\io\github\openfeign\feign-core\10.12\feign-core-10.12.jar;D:\repository\io\github\openfeign\feign-slf4j\10.12\feign-slf4j-10.12.jar;D:\repository\org\springframework\cloud\spring-cloud-starter-loadbalancer\3.0.4\spring-cloud-starter-loadbalancer-3.0.4.jar;D:\repository\org\springframework\cloud\spring-cloud-loadbalancer\3.0.4\spring-cloud-loadbalancer-3.0.4.jar;D:\repository\io\projectreactor\addons\reactor-extra\3.4.5\reactor-extra-3.4.5.jar;D:\repository\org\springframework\boot\spring-boot-starter-cache\2.5.6\spring-boot-starter-cache-2.5.6.jar;D:\repository\com\stoyanr\evictor\1.0.0\evictor-1.0.0.jar;D:\repository\org\springframework\spring-context-support\5.3.12\spring-context-support-5.3.12.jar;D:\repository\com\alibaba\transmittable-thread-local\2.12.2\transmittable-thread-local-2.12.2.jar;D:\repository\com\github\pagehelper\pagehelper-spring-boot-starter\1.4.0\pagehelper-spring-boot-starter-1.4.0.jar;D:\repository\org\mybatis\spring\boot\mybatis-spring-boot-starter\2.2.0\mybatis-spring-boot-starter-2.2.0.jar;D:\repository\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\2.2.0\mybatis-spring-boot-autoconfigure-2.2.0.jar;D:\repository\org\mybatis\mybatis\3.5.7\mybatis-3.5.7.jar;D:\repository\org\mybatis\mybatis-spring\2.0.6\mybatis-spring-2.0.6.jar;D:\repository\com\github\pagehelper\pagehelper-spring-boot-autoconfigure\1.4.0\pagehelper-spring-boot-autoconfigure-1.4.0.jar;D:\repository\com\github\pagehelper\pagehelper\5.3.0\pagehelper-5.3.0.jar;D:\repository\com\github\jsqlparser\jsqlparser\4.2\jsqlparser-4.2.jar;D:\repository\org\springframework\boot\spring-boot-starter-validation\2.5.6\spring-boot-starter-validation-2.5.6.jar;D:\repository\org\hibernate\validator\hibernate-validator\6.2.0.Final\hibernate-validator-6.2.0.Final.jar;D:\repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;D:\repository\org\jboss\logging\jboss-logging\3.4.2.Final\jboss-logging-3.4.2.Final.jar;D:\repository\io\jsonwebtoken\jjwt\0.9.1\jjwt-0.9.1.jar;D:\repository\javax\xml\bind\jaxb-api\2.3.1\jaxb-api-2.3.1.jar;D:\repository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;D:\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;D:\repository\commons-io\commons-io\2.11.0\commons-io-2.11.0.jar;D:\repository\commons-fileupload\commons-fileupload\1.4\commons-fileupload-1.4.jar;D:\repository\org\apache\poi\poi-ooxml\4.1.2\poi-ooxml-4.1.2.jar;D:\repository\org\apache\poi\poi\4.1.2\poi-4.1.2.jar;D:\repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;D:\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;D:\repository\com\zaxxer\SparseBitSet\1.2\SparseBitSet-1.2.jar;D:\repository\org\apache\poi\poi-ooxml-schemas\4.1.2\poi-ooxml-schemas-4.1.2.jar;D:\repository\org\apache\xmlbeans\xmlbeans\3.1.0\xmlbeans-3.1.0.jar;D:\repository\org\apache\commons\commons-compress\1.19\commons-compress-1.19.jar;D:\repository\com\github\virtuald\curvesapi\1.06\curvesapi-1.06.jar;D:\repository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;D:\code\RuoYi-Cloud\ruoyi-common\ruoyi-common-redis\target\classes;D:\repository\org\springframework\boot\spring-boot-starter-data-redis\2.5.6\spring-boot-starter-data-redis-2.5.6.jar;D:\repository\org\springframework\data\spring-data-redis\2.5.6\spring-data-redis-2.5.6.jar;D:\repository\org\springframework\data\spring-data-keyvalue\2.5.6\spring-data-keyvalue-2.5.6.jar;D:\repository\org\springframework\data\spring-data-commons\2.5.6\spring-data-commons-2.5.6.jar;D:\repository\org\springframework\spring-oxm\5.3.12\spring-oxm-5.3.12.jar;D:\repository\io\lettuce\lettuce-core\6.1.5.RELEASE\lettuce-core-6.1.5.RELEASE.jar;D:\repository\io\projectreactor\reactor-core\3.4.11\reactor-core-3.4.11.jar;D:\repository\org\reactivestreams\reactive-streams\1.0.3\reactive-streams-1.0.3.jar;D:\code\RuoYi-Cloud\ruoyi-common\ruoyi-common-log\target\classes;D:\code\RuoYi-Cloud\ruoyi-common\ruoyi-common-swagger\target\classes;D:\repository\org\springframework\boot\spring-boot-starter-web\2.5.6\spring-boot-starter-web-2.5.6.jar;D:\repository\org\springframework\boot\spring-boot-starter-json\2.5.6\spring-boot-starter-json-2.5.6.jar;D:\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.12.5\jackson-datatype-jdk8-2.12.5.jar;D:\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.12.5\jackson-module-parameter-names-2.12.5.jar;D:\repository\org\springframework\boot\spring-boot-starter-tomcat\2.5.6\spring-boot-starter-tomcat-2.5.6.jar;D:\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.54\tomcat-embed-core-9.0.54.jar;D:\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.54\tomcat-embed-el-9.0.54.jar;D:\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.54\tomcat-embed-websocket-9.0.54.jar;D:\repository\org\springframework\spring-web\5.3.12\spring-web-5.3.12.jar;D:\repository\io\springfox\springfox-swagger2\3.0.0\springfox-swagger2-3.0.0.jar;D:\repository\io\springfox\springfox-swagger-common\3.0.0\springfox-swagger-common-3.0.0.jar;D:\repository\io\swagger\core\v3\swagger-annotations\2.1.2\swagger-annotations-2.1.2.jar;D:\repository\io\springfox\springfox-spring-webflux\3.0.0\springfox-spring-webflux-3.0.0.jar;D:\repository\io\swagger\swagger-annotations\1.6.2\swagger-annotations-1.6.2.jar;D:\repository\io\swagger\swagger-models\1.6.2\swagger-models-1.6.2.jar;D:\repository\org\mapstruct\mapstruct\1.3.1.Final\mapstruct-1.3.1.Final.jar;D:\repository\junit\junit\4.12\junit-4.12.jar;D:\repository\org\hamcrest\hamcrest-core\2.2\hamcrest-core-2.2.jar;D:\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar;D:\repository\org\springframework\boot\spring-boot-test\2.3.4.RELEASE\spring-boot-test-2.3.4.RELEASE.jar;D:\repository\org\springframework\boot\spring-boot\2.5.6\spring-boot-2.5.6.jar;D:\repository\org\springframework\spring-context\5.3.12\spring-context-5.3.12.jar;D:\repository\org\springframework\cloud\spring-cloud-starter-bootstrap\3.0.4\spring-cloud-starter-bootstrap-3.0.4.jar;D:\repository\org\springframework\cloud\spring-cloud-starter\3.0.4\spring-cloud-starter-3.0.4.jar;D:\repository\org\springframework\security\spring-security-rsa\1.0.10.RELEASE\spring-security-rsa-1.0.10.RELEASE.jar;D:\repository\org\bouncycastle\bcpkix-jdk15on\1.68\bcpkix-jdk15on-1.68.jar;D:\repository\org\bouncycastle\bcprov-jdk15on\1.68\bcprov-jdk15on-1.68.jar" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 com.ruoyi.system.test.CollectionsTest,test
[rat, cat, dog, dog]
[rat, cat, dog, dog]
[rat, cat, dog]
[cat, dog, rat]
[rat, cat, dog]
{rat=com.ruoyi.system.api.domain.SysFile@67b64c45[
  name=Fuzzy
  url=<null>
], cat=com.ruoyi.system.api.domain.SysFile@7f690630[
  name=Rags
  url=<null>
], dog=com.ruoyi.system.api.domain.SysFile@edf4efb[
  name=Spot
  url=<null>
]}
{cat=com.ruoyi.system.api.domain.SysFile@2f7a2457[
  name=Rags
  url=<null>
], dog=com.ruoyi.system.api.domain.SysFile@566776ad[
  name=Spot
  url=<null>
], rat=com.ruoyi.system.api.domain.SysFile@6108b2d7[
  name=Fuzzy
  url=<null>
]}
{rat=com.ruoyi.system.api.domain.SysFile@1554909b[
  name=Fuzzy
  url=<null>
], cat=com.ruoyi.system.api.domain.SysFile@6bf256fa[
  name=Rags
  url=<null>
], dog=com.ruoyi.system.api.domain.SysFile@6cd8737[
  name=Spot
  url=<null>
]}
Process finished with exit code 0
相关文章
|
5天前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
1天前
|
数据可视化 Java
使用ChatGPT实现可视化操作扫雷小游戏 【java代码实现】
这篇文章介绍了使用Java语言和Swing框架实现的扫雷小游戏的详细代码和实现过程。
使用ChatGPT实现可视化操作扫雷小游戏 【java代码实现】
|
1天前
|
前端开发 IDE Java
"揭秘前端转Java的秘径:SpringBoot Web极速入门,掌握分层解耦艺术,让你的后端代码飞起来,你敢来挑战吗?"
【8月更文挑战第19天】面向前端开发者介绍Spring Boot后端开发,通过简化Spring应用搭建,快速实现Web应用。本文以创建“Hello World”应用为例,展示项目基本结构与运行方式。进而深入探讨三层架构(Controller、Service、DAO)下的分层解耦概念,通过员工信息管理示例,演示各层如何协作及依赖注入的使用,以此提升代码灵活性与可维护性。
|
3天前
|
Java 开发者
Java中的Lambda表达式:简化你的代码之旅
【8月更文挑战第17天】 在编程的海洋中,简洁是航行的风帆。Lambda表达式,作为Java 8的一大亮点,为开发者提供了一种更为紧凑、易读的编码方式。本篇文章将带你领略Lambda表达式的魅力,从基础概念到实际应用,让你的代码像诗句一样流畅。
13 4
|
1天前
|
设计模式 算法 安全
Java编程中的设计模式:提升代码的可维护性和扩展性
【8月更文挑战第19天】在软件开发的世界里,设计模式是解决常见问题的一种优雅方式。本文将深入探讨Java编程语言中常用的几种设计模式,并解释如何通过这些模式来提高代码的可维护性和扩展性。文章不涉及具体的代码实现,而是侧重于理论和实践相结合的方式,为读者提供一种思考和改善现有项目的新视角。
|
1天前
|
设计模式 Java
常用设计模式介绍~~~ Java实现 【概念+案例+代码】
文章提供了一份常用设计模式的全面介绍,包括创建型模式、结构型模式和行为型模式。每种设计模式都有详细的概念讲解、案例说明、代码实例以及运行截图。作者通过这些模式的介绍,旨在帮助读者更好地理解源码、编写更优雅的代码,并进行系统重构。同时,文章还提供了GitHub上的源码地址,方便读者直接访问和学习。
常用设计模式介绍~~~ Java实现 【概念+案例+代码】
|
1天前
|
Java 开发者
在Java编程的广阔天地中,if-else与switch语句犹如两位老练的舵手,引领着代码的流向,决定着程序的走向。
在Java编程中,if-else与switch语句是条件判断的两大利器。本文通过丰富的示例,深入浅出地解析两者的特点与应用场景。if-else适用于逻辑复杂的判断,而switch则在处理固定选项或多分支选择时更为高效。从逻辑复杂度、可读性到性能考量,我们将帮助你掌握何时选用哪种语句,让你在编程时更加得心应手。无论面对何种挑战,都能找到最适合的解决方案。
5 1
|
5天前
|
Java
MQTT(EMQX) - Java 调用 MQTT Demo 代码
MQTT(EMQX) - Java 调用 MQTT Demo 代码
8 0
MQTT(EMQX) - Java 调用 MQTT Demo 代码
|
1天前
|
安全 Java 测试技术
常见 Java 代码缺陷及规避方式
在日常开发过程中,我们会碰到各种各样的代码缺陷或者 Bug,比如 NPE、 线程安全问题、异常处理等。这篇文章总结了一些常见的问题及应对方案,希望能帮助到大家。
|
1天前
|
Java 程序员
"Java程序员必备秘籍:Lambda表达式如何让你的代码瘦身90%?揭秘简化编程的终极奥秘!"
【8月更文挑战第19天】Java持续进化,Lambda表达式自Java 8起赋予其新活力。它简化代码,使编程更愉悦。以前,简单功能需冗长代码,如列表排序要用匿名内部类实现`Comparator`。现在一行Lambda足矣。Lambda如`(参数) -&gt; {表达式}`,支持零或多参数。