java的统计数量的工具类
时间: 2024-05-27 10:12:12 浏览: 15
Java中有很多统计数量的工具类,以下是一些常用的工具类:
1. Arrays类:提供了很多数组操作的方法,如排序、查找、拷贝等。
2. Collections类:提供了很多集合操作的方法,如排序、查找、添加、删除等。
3. Math类:提供了很多数学运算的方法,如取绝对值、求平方根、计算三角函数等。
4. Random类:用于生成随机数的工具类。
5. DecimalFormat类:用于格式化数字的工具类。
6. NumberFormat类:用于格式化数字的工具类,可以按照指定的区域设置格式化数字。
7. Calendar类:用于处理日期和时间的工具类,可以进行日期计算、日期格式化等操作。
8. SimpleDateFormat类:用于格式化日期和时间的工具类。
9. StringUtils类:用于字符串处理的工具类,提供了很多字符串操作的方法,如判断字符串是否为空、去除字符串空格等。
10. StringTokenizer类:用于将字符串按照特定的分隔符进行分割的工具类。
相关问题
java获取工作日工具类
Java获取工作日工具类主要用于计算给定时间段内的有效工作日天数,排除掉周末和节假日等非工作日。这对于企业的工作日管理、考勤统计等方面具有重要意义。
要实现这个工具类,首先需要定义一个日期计算方法,该方法可以根据具体的日期范围,计算包含的有效工作日数量。具体实现可以采用Java 8 Stream API,利用LocalDate的方法,筛选掉非工作日,并统计工作日数量。
其次,需要定义一个节假日管理方法,该方法需要记录各种法定节假日和公司内部的假日安排。例如,在中国,法定节假日包括春节、清明节、劳动节等,而公司内部可能会安排年会、团建等假期。该管理方法可以利用Map等数据结构实现,将节假日的日期和类型以键值对的形式存储。
最后,根据以上两个方法,构建主工具类,该类的主要功能是根据指定的日期范围和节假日管理信息,计算出其中的有效工作日数量。由于不同国家和地区可能有不同的法定节假日和假日安排,因此,在编写工具类时需要考虑到相关的地域因素,以满足不同用户的需求。
java 根据多个key汇总数量
如果有一个对象列表,想要根据多个 key 进行分组,并且汇总数量,可以使用 Java 8 的 Stream API 和 Collectors 工具类来实现。
假设有一个对象列表,每个对象都有两个属性:name 和 category,现在要根据这两个属性进行分组,并且汇总数量,代码如下:
```java
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
List<Item> items = Arrays.asList(
new Item("item1", "category1"),
new Item("item2", "category1"),
new Item("item3", "category2"),
new Item("item4", "category2"),
new Item("item5", "category2")
);
Map<String, Map<String, Long>> result =
items.stream()
.collect(Collectors.groupingBy(
Item::getCategory,
Collectors.groupingBy(
Item::getName,
Collectors.counting())));
System.out.println(result);
}
}
class Item {
private String name;
private String category;
public Item(String name, String category) {
this.name = name;
this.category = category;
}
public String getName() {
return name;
}
public String getCategory() {
return category;
}
}
```
输出结果为:
```
{category1={item2=1, item1=1}, category2={item5=1, item3=1, item4=1}}
```
解释一下代码:
- 首先将对象列表转换成 Stream,然后使用 `groupingBy` 方法进行分组,第一个参数是分类的 key,第二个参数是对每个分类再进行分组,这里使用 `groupingBy` 方法将每个分类按照 name 属性进行分组,并使用 `counting` 方法统计数量。
- 最后将结果放在一个 Map 对象中。
这样就可以根据多个 key 汇总数量了。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)