首先,先将字符串重复次数放入map中,然后再对map根据值进行排序。
例:
//将List中每个元素的重复次数放入map中
public static Map testSplit(List list){
int mapinI = 1;
String firString= null;
if(list.size()>=1){
firString =list.get(0).toString();
map.put(firString,mapinI);
list.remove(0);
}
int i= 0;
for( ;i<list.size();i++) {
String falgString = list.get(i).toString();
if(falgString.equals(firString)){
// 加了后去掉
mapinI=mapinI+1;
map.put(firString,mapinI);
list.remove(i);
i=-1;
}
}
if(list.size()>=1){
// 递归
testSplit(list);
}
return map ;
}
2,将Map进行排序
//对map进行排序(根据value)
public static ArrayList<Map.Entry<String,Integer>> sorMap(Map map){
ArrayList<Map.Entry<String,Integer>> entries = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());
Collections. sort(entries , new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return (o2.getValue() - o1.getValue());
}
});
return entries;
}
3,进行调用
public static void main(String[] args) {
List<String> list= new ArrayList<String>();
list=getList(); //获取List
Map cache=testSplit(list);
ArrayList<Map.Entry<String,Integer>> entries = sorMap(cache);
for(Map.Entry<String,Integer> e : entries) {
System. out.println(e.getKey() + ":" + e.getValue());
}
}
分享到:
相关推荐
在Java编程中,工具类(Util Classes)是程序员日常工作中不可或缺的部分,它们提供了一系列静态方法,用于执行常见的任务,如JSON解析、日期处理、字符串操作等。以下是对标题和描述中涉及的知识点的详细说明: 1....
在Java编程语言中,对中文字符串进行排序是一个相对复杂的问题,因为中文字符的排序不能简单地按照Unicode编码顺序来处理。通常,我们需要考虑汉字的拼音或者笔画等属性来进行排序。这里我们将详细介绍如何使用`...
在这个例子中,我们创建了一个`ArrayList`对象`aList`,然后添加了一些字符串元素。通过使用`get()`方法并结合`for`循环,我们可以遍历整个列表并打印出每个元素。 #### 2.2 遍历List 除了使用`get()`方法之外,...
在Java 8中,将List转换为Map对象是一种非常实用的技术,特别是在处理大规模数据时非常有用。本文将详细介绍在Java 8中将List转换为Map对象的方法,并提供了多种实现方式。 首先,我们需要明确Map的key是什么?在这...
### 华为OD机试C卷- 字符串排序(Java & JS & Python) #### 题目背景 本题目来源于华为OD机试C卷,主要考察应聘者对字符串操作和排序算法的理解与应用能力。题目要求根据特定的排序规则对一系列单词进行排序,并...
### 知识点一:字符串排序算法在 Java 中的应用 #### 冒泡排序算法实现 冒泡排序是一种简单的排序算法,通过重复遍历要排序的列表,比较每对相邻的元素,并交换它们的位置(如果顺序错误的话),直到没有任何一对...
此题目的核心在于理解字符串排序的基本概念以及如何通过有效的数据结构来存储字符及其在原始字符串中的位置信息。具体步骤如下: 1. **读取输入**:首先读取输入的字符串和整数k。 2. **字符索引映射**:创建一个...
在实际应用中,可能需要对结果进行优化,例如使用Set避免重复,或者使用Stream API来简化代码。此外,对于大数据量的输入,还需要考虑性能优化,如使用并行计算或记忆化搜索等技术。 总结来说,从n个数组中取出所有...
最后,将两个对象的属性值转换为字符串并使用`compareTo()`进行比较,从而实现基于特定属性的排序。 在实际使用时,只需要传递列表、属性名(如"userId")和排序方式("asc"或"desc")给`Sort()`方法,就可以对列表...
Java程序设计中的数组和字符串是两个基础且重要的概念。数组是一种可以存储多个同类型数据的集合,它们在内存中以连续的方式存储。数组分为一维数组、二维数组等,这里主要讨论一维数组。 1. **数组的声明**:声明...
- **List**: Java 中的一个接口,用于存储有序且可重复的元素集合。 - **Comparator**: Java 提供的一个接口,用于比较两个对象的大小。实现此接口的类可以作为比较器来对 List 中的对象进行排序。 #### 排序原理 ...
4. **删除重复字符**:在字符串或文本处理中,可能需要去除重复字符。可以使用HashSet数据结构,因为它不允许重复元素,将字符逐一添加,重复的会被自动忽略。 5. **小文件融合成大文件**:合并多个小文件通常涉及...
6. 转换成字符串:可以使用 join() 方法将 List 转化为字符串,例如: ```java List<String> userParms = new ArrayList(); String userSql = String.join(" AND ", userParms); ``` 7. 排序:可以使用 Collections....
集合框架是Java中处理一组对象的标准库,包括接口(如`Collection`、`List`、`Set`等)、接口的实现(如`ArrayList`、`LinkedList`、`HashSet`等)和算法(如排序、搜索等操作)。`Collection`是最基础的接口,所有...
例如,我们可以声明一个只包含字符串的ArrayList如下: ```java List<String> list = new ArrayList(); ``` Java集合框架是一个包含多种数据结构(如列表、集、队列等)的API,这些数据结构由接口(如`Collection`...
在这个场景下,我们将关注如何在Java中实现这个功能,特别是针对字符串数组。 方法一: 此方法使用了Java的`Set`接口,具体是`TreeSet`类。`Set`是一个不允许有重复元素的集合,它会自动去重。在示例代码中,首先...
在Java编程语言中,Map、List和Set是三个核心的集合接口,它们分别代表了键值对、有序元素序列和不重复元素集。本项目利用这些数据结构进行英文词频统计,结合Swing构建用户界面,提供了一种交互式的文本分析工具。 ...
之前的版本中,字符串连接通常涉及多次内存分配和拷贝,而Java 7改进了字符串连接性能,当字符串数量较少时,使用StringBuilder优化内部实现。 5. **增强的for循环(遍历数组和集合)** Java 7允许在for-each循环...
本实验将引导我们深入学习Java集合框架,这包括List、Set、Queue以及Map等接口的实现类,以及它们在实际编程中的应用。兰州大学的这个实验旨在帮助学生掌握这些核心概念,并提升对数据结构的理解。 首先,让我们...
例如,`CollectionsUtil.sortList()`对列表进行排序,`CollectionsUtil.removeDuplicates()`移除集合中的重复元素。 3. **排序**: Java中的排序通常通过`Collections.sort()`方法或自定义比较器实现。工具类可能...