首页 > 其他分享 >2023年6月13日,Collections集合工具类,Properties配置文件类,集合使用小结

2023年6月13日,Collections集合工具类,Properties配置文件类,集合使用小结

时间:2023-06-13 23:31:36浏览次数:63  
标签:13 java 配置文件 ArrayList 线程 key 集合 import

1. Properties配置文件类

创建配置文件,DBConfig.properties在src目录下

username=root
password=123456

创建test01类

package com.wz.properties_class;

import java.io.IOException;
import java.util.Properties;

public class test01 {
    /**
     * 知识点:配置文件类properties
     */
    public static void main(String[] args) throws IOException {
        //创建配置文件对象
        Properties p = new Properties();
        //将配置文件加载到对象中(在src路径下查找该文件)
        p.load(test01.class.getClassLoader().getResourceAsStream("DBConfig.properties"));
        //获取配置文件的数据
        String username = p.getProperty("username");
        String password = p.getProperty("password");
        System.out.println(username+"---"+password);
    }
}

2023年6月13日,Collections集合工具类,Properties配置文件类,集合使用小结_集合使用小结

2. Collections集合工具类

package com.wz.collections_class;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;

public class test01 {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        Collections.addAll(list,5,4,5,6,2,6,3,5);
        //排序
        list.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return Integer.compare(o1,o2);
            }
        });
        System.out.println(Arrays.toString(list.toArray()));

    }
}

2023年6月13日,Collections集合工具类,Properties配置文件类,集合使用小结_Collections_02

3. 集合使用小结

  1. Collection 与 Map的区别

Collection 存单个值,可以获取迭代器进行遍历

Map存两个值(Key-Value),不可以获取迭代器,不能遍历(Map可以间接遍历)

  1. 理解Set为什么是无序

无序:存入顺序和取出顺序不一致,无序不等于随机

  1. ArrayList 与 LinkedList的区别

使用上的区别:

LinkedList添加了

队列模式-先进先出(removeFirst())

栈模式-先进后出(removeLast())

效率上的区别:

ArrayList底层数据结构是一维数组

LinkedList底层数据结构是双向链表

添加 - 不扩容的情况:ArrayList快

添加 - 扩容的情况:LinkedList快

删除:LinkedList快

查询:ArrayList快

修改:ArrayList快

注意:工作中常用ArrayList,因为很多需求都需要使用查询功能,ArrayList查询更快

  1. 各种集合的应用场景

ArrayList:存数据,线程不安全

LinkedList:队列模式、栈模式,线程不安全

Vector:弃用,线程安全

Stack:弃用,线程安全

HashSet:去重+无序,线程不安全

LinkedHashSet:去重+有序,线程不安全

TreeSet:排序,线程不安全

HashMap:存key+value,key去重,无序,线程不安全

LinkedHashMap:存key+value,key去重,有序,线程不安全

Hashtable:弃用,存key+value,key去重,无序,线程安全,方法加锁-效率低

ConcurrentHashMap:存key+value,key去重,无序,线程安全,局部加锁、CAS-效率高

TreeMap:存key+value,针对于Key排序

Properties:配置文件

标签:13,java,配置文件,ArrayList,线程,key,集合,import
From: https://blog.51cto.com/u_15098423/6474546

相关文章

  • 2023.6.13 05.数据库索引操作
    05.数据库索引操作1.索引概述2.索引分类3.索引环境4.索引创建5.索引测试6.索引管理 1.索引概述索引就好⽐⼀本书的⽬录,它会让你更快的找到内容,显然⽬录(索引)并不是越多越好,假如这本书1000⻚,有500⻚也是⽬录,它当然效率低,⽬录是要占纸张的,⽽索引是要占磁盘空间的。 ......
  • 2023.6.13 06.数据库触发器
    06.数据库触发器1、什么叫触发器:当满⾜⼀定的条件以后,它会触发⼀个动作的执⾏,trigger触发器是⼀种特殊类型的存储过程,它是在特定的表上⾃动执⾏的代码。当特定的事件发⽣时,MySQL触发器会被⾃动激活。这些事件可能包括INSERT、UPDATE或DELETE操作,以及对特定列的更改。2......
  • 2023-06-13:统计高并发网站每个网页每天的 UV 数据,结合Redis你会如何实现?
    2023-06-13:统计高并发网站每个网页每天的UV数据,结合Redis你会如何实现?答案2023-06-13:选用方案:HyperLogLog如果统计PV(页面浏览量)那非常好办,可以考虑为每个网页创建一个独立的Redis计数器,并将日期添加为键(key)的后缀。当网页收到请求时,对应的计数器将被递增。对于每天的访问......
  • 2023-06-13:统计高并发网站每个网页每天的 UV 数据,结合Redis你会如何实现?
    2023-06-13:统计高并发网站每个网页每天的UV数据,结合Redis你会如何实现?答案2023-06-13:选用方案:HyperLogLog如果统计PV(页面浏览量)那非常好办,可以考虑为每个网页创建一个独立的Redis计数器,并将日期添加为键(key)的后缀。当网页收到请求时,对应的计数器将被递增。对于每天的访问数据......
  • 集合框架
    1.使用集合框架的缘由由于数组在创建时会默认定义数组长度,而数组长度固定不变,所以导致数组的赋值及创建会浪费内存空间,集合作为可以更改长度的“数组”,解决了内存浪费的现象。2.Java集合框架架构图(1)集合有两个父接口,Collection和Map(2)Collection有两个子接口List和Set(3)Li......
  • POJ 3131 - Cubic Eight-Puzzle
    很明显可以看出是一道搜索题。首先考虑\(bfs\),第一种思路是每次从给定的初始状态都进行一次\(bfs\),直到\(30\)停止。然后我们发现,初始状态根据一开始空格的位置不同,一共只有\(9\)种。而一个状态可以用空格的位置、所有位置上方的颜色、所有位置左方的颜色唯一确定,一共\(6^......
  • C++销售管理助手[2023-06-13]
    C++销售管理助手[2023-06-13]用c++线性结构写一个完整程序,题目如下小美学完线性表后,想设计一个小程序,管理自己的网店销售情况,她想实现以下功能,请设计程序帮她实现:(1)可以录入商品信息,格式如下:(商品编号、商品名称、数量、进价、标价、折扣、售价)样例:(c0001,海飞丝,40,20,30......
  • 1138.字母板上的路径
    问题描述1138.字母板上的路径解题思路考虑到'z'单独在一个地方,因此移动顺序中,左下、右上不能反过来,即不能先往下再往左或者先往右再往上。代码classSolution{public:stringalphabetBoardPath(stringtarget){stringres;vector<int>cur_loc{0,......
  • 2023.6.13 数组中不等三元组的数目
    直接的思路是三重循环\(O(n^3)\)解决,由于数据范围是\(n\leq100\),所以\(n^3\leq10^6\)可以过。如果想稍微优化一下的话,可以考虑下面两种思路,都是类似的:排序,排完序后相同的元素会聚集到一起,假设他们聚集在了区间\([i,j]\)内。那\([0,i-1]\)这一部分区间和\([j+1,n]\)......
  • 升级Ubuntu18.04上的gitlab 13.7.3
    1、查看gitlab版本,在首页后面添加/help就可以看到了也可以用命令查看cat/opt/gitlab/embedded/service/gitlab-rails/VERSION2、gitLab版本升级,需要按照官方的指示版本进行依次升级8.11.Z->8.12.0->8.17.7->9.5.10->10.8.7->11.11.8->12.0.12->12.1.17->12.10.1......