public static void main(String[] args) {
String source = "22:w,22:c,21:r,7:r,7:w,7:c,8:w,8:c,8:d,9:r,9:w,9:c,9:d,10:r";
String result = parse(source);
System.out.println(result);
}
public static String parse(String source) {
List<String> list = null;
StringBuffer buffer = new StringBuffer();
String result = null;
Map<String, List<String>> map = new HashMap<String, List<String>>();
String[] array = source.split("\\,");
for(String e : array) {
String[] entry = e.split(":");
String key = entry[0];
String value = entry[1];
if(map.get(key) == null) {
list = new ArrayList<String>();
list.add(value);
map.put(key, list);
} else {
list = map.get(key);
if(!list.contains(value)) {
list.add(value);
}
}
}
Iterator iter = map.keySet().iterator();
while(iter.hasNext()) {
String key = (String) iter.next();
list = map.get(key);
buffer.append(key + ":");
for(int i = 0; i < list.size(); i++) {
buffer.append(list.get(i));
if(i != list.size() - 1) {
buffer.append(",");
}
}
buffer.append(";");
}
result = buffer.toString();
if(buffer.charAt(buffer.length() - 1) == ';') {
result = result.substring(0, result.length() - 1);
}
return result;
}
输出
21:r;10:r;7:r,w,c;22:w,c;9:r,w,c,d;8:w,c,d
相关推荐
首先,我们要讨论的是字符串解析。在Java中,我们可以使用`String`类提供的方法或正则表达式来实现字符串的解析。例如,给定字符串“卡巴斯基#杀毒软件#免费版#俄罗斯#”,我们可以用`split()`方法,以“#”为分隔符...
在Java编程语言中,IO(Input/Output)操作是处理数据输入和输出的关键部分,而将字符串解析为数值数组则是日常编程中常见的任务。本文将深入探讨这两个主题,并结合提供的两个文件名`TestWriteD.java`和`TestSplitD...
使用Java操作JSON字符串对象,使用Java操作JSON字符串对象
### Java解析XML字符串 在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这...
在Java编程语言中,字符串处理是一项常见的任务,特别是在解析、分析或操作文本数据时。本篇文章将深入探讨如何从字符串中提取括号内的内容,主要关注于基础的字符串操作、正则表达式以及如何利用这些工具来实现目标...
java代码-使用java解决从字符串中解析二维数组的源代码 ——学习参考资料:仅用于个人学习使用!
java中求字符串表达式的值看起来很伤脑筋,但如果你用BeanShell,一切都变得很简单。
本文将深入探讨如何在Java中解析JSON字符串,以满足后端处理前端传递的数据需求。 首先,理解JSON的基本结构至关重要。JSON格式通常包含键值对,可以是对象(用花括号 `{}` 包裹)或数组(用方括号 `[]` 包裹)。...
Java 字符串转换为日期和时间比较大小 Java 字符串转换为日期和时间比较大小是 Java 开发中常见的操作。下面我们将详细介绍两种方法来实现 Java 字符串转换为日期和时间比较大小。 方法一:使用 SimpleDateFormat ...
XML字符串解析首先需要理解XML的基本结构。XML文档由元素(Element)、属性(Attribute)、文本内容(Text)等构成,元素是XML的最基本组成部分,通常以尖括号 `和 `>` 包裹。例如,下面是一个简单的XML字符串示例:...
Java解析Json字符串是Java开发中常见的一项任务,特别是在与Web服务交互、数据交换或存储时。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java...
这个方法允许我们根据特定的分隔符将一个字符串分割成多个子字符串,这对于数据解析、格式转换等场景非常有用。在本文中,我们将深入探讨`split()`方法的实践应用。 `split()`方法位于`java.lang.String`类中,它的...
### JAVA日期与字符串的转换 在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期对象来进行日期计算等操作。本文将详细介绍如何在Java中实现这两种转换。 #### 一...
总之,Java中的字符串分解是一个基础且重要的概念,广泛应用于数据处理、日志分析、文本解析等场景。熟练掌握`split()`方法及其背后的正则表达式原理,对于提升Java编程能力非常有帮助。通过`StringDemo_13.java`...
JSON官网上推荐的使用java解析json的类库,官网下载后的是未编译打包的java文件,这是我打包后的东东,使用时直接添加进Build path即可,简单实用……
在Java编程中,验证字符串是否符合JSON(JavaScript Object Notation)格式是一项常见的任务,尤其是在进行前后端数据交互时。JSON是一种轻量级的数据交换格式,它允许数据以键值对的形式存储,易于人阅读和编写,...
在Java编程语言中,字符串操作是日常开发中的重要部分,因为字符串处理无处不在,从数据解析到用户界面的交互。`StringUtil` 类是这样一个工具类,它集合了多种常用的字符串处理方法,以提高开发效率并减少代码重复...
在Java编程中,处理时间字符串解析时经常遇到的问题是时间格式的不一致性,尤其是在毫秒值存在或缺失的情况下。本文将详细讲解如何在Java中解析包含或不包含毫秒值的时间字符串。 首先,我们来看标题和描述中提到的...
### Java字符串编码转换详解 #### 一、Java 字符串编码转换基础 在Java中,字符串的处理是非常常见的操作之一,而字符编码是确保数据正确显示的关键因素。本篇文章将重点介绍Java中字符串编码的转换方法及其在Web...
总之,理解和掌握Gson库在解析复杂的JSON字符串时的方法是Java开发者必备的技能之一。通过理解JSON结构、创建对应的Java模型以及处理可能出现的问题,我们可以有效地解析和利用JSON数据。在实际工作中,根据具体需求...