- 浏览: 438499 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
CmdSmith:
这么构建出来的应该都是完全二叉树吧。。
java实现二叉树的构建以及3种遍历方法 -
haoyuan2012:
非常好,很受益
java实现二叉树的构建以及3种遍历方法 -
haizhiguang:
请问楼主是如何想到 nodeList.get(parent ...
java实现二叉树的构建以及3种遍历方法 -
Angry_Icarus:
赞赞赞
java实现二叉树的构建以及3种遍历方法 -
lilin9043:
刚刚用这个 不会用
UrlRewrite时需要注意的问题:action以及正则表达式
package mix.test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; /** * @function 【武汉】歪尘(531314208) 2011-10-26 20:55:54<BR> * set集合有一些javabean,我要怎么进行过滤?<BR> * name 数量 <BR> * a 10<BR> * b 3<BR> * a 3<BR> * b 5<BR> * * name 数量 <BR> * a 13<BR> * b 8<BR> * * @author ocaicai@yeah.net * * @date 2011-10-27 */ public class ListTest { /** * @param args */ public static void main(String[] args) { List<Product> list = genernateProduct(); list = getCountByName(list); System.out.println(Arrays.toString(list.toArray())); } public static List<Product> genernateProduct() { List<Product> list = new ArrayList<Product>(); list.add(new Product("a", 10)); list.add(new Product("b", 3)); list.add(new Product("a", 3)); list.add(new Product("c", 5)); list.add(new Product("b", 5)); list.add(new Product("c", 7)); return list; } public static List<Product> getCountByName(List<Product> list) { List<Product> targetList = new ArrayList<Product>(); int count = 0; Product product = null; // 去除掉重复name,得到有序的name Set<String> nameSet = new HashSet<String>(); List<String> nameList = new ArrayList<String>(); for (int i = 0; i < list.size(); i++) nameSet.add(list.get(i).getName()); for (String name : nameSet) nameList.add(name); Collections.sort(nameList); // 获取每个name的count和 for (String name : nameList) { count = 0; for (int i = 0; i < list.size(); i++) { product = list.get(i); if (product.getName().equals(name)) { count += product.getCount(); list.remove(i); i--; } } targetList.add(new Product(name, count)); } return targetList; } }
package mix.test; public class Product { private String name; private int count; public Product(String name, int count) { super(); this.name = name; this.count = count; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } @Override public String toString() { return this.name + ":" + this.count; } }
输出结果:
[a:13, b:8, c:12]
第二种方法,感觉思路更清晰,运算复杂度更小:getCountByName方法
public static List<Product> getCountByName(List<Product> productList) { List<Product> targetList = new ArrayList<Product>(); Product product = null; // 寻找该name的总count,然后删除该name String name = null; int count = 0; while (productList.size() > 0) { name = productList.get(0).getName(); count = 0; for (int i = 0; i < productList.size(); i++) { product = productList.get(i); if (product.getName().equals(name)) { count += product.getCount(); productList.remove(i); i--; } } targetList.add(new Product(name, count)); } return targetList; }
.
发表评论
-
采用Client/Server模型理解回调callback
2012-04-22 11:38 4416关于回调早就听说过,但是不曾理解过,周日的上午外面阳光灿烂,我 ... -
java源文件夹打包
2012-04-01 12:49 1188有时候我们可能需要修改源文件来适应自己的需求 案 ... -
使用命令行的方式启动Mina
2012-02-29 09:50 0/** * 使用命令行的方式启动Mina ... -
MD5的工具方法使用
2011-12-07 10:33 1657package com.cdl.test; impo ... -
二进制基础(负数转二进制)
2011-10-30 14:49 2216比如,假设有一 int 类型的数,值为5,那么,我们知道它在计 ... -
对Entity的未用字段进行借鸡下蛋
2011-09-20 15:00 1242. 1.实体 public class Image ... -
不要再困扰在String与StringBuffer(StringBuilder)的区别上鸟
2011-06-29 16:44 1172无论是初学者还是在java ... -
在myeclipse8.5中导出uml类图
2011-06-21 19:59 1490百度一下:myeclipse类图 . http://wenk ... -
用一下UML建模工具Rational Rose以及类图的基本关系
2011-06-09 14:24 10764. 基本的类图关系: 编码实现: packa ... -
统计某一数组中重复数字的次数
2011-04-28 18:15 5702. 今天上谯老师软件项目管理方法与实践课时给出了一个他曾经留 ... -
模仿String.indexOf,判断一个字符串是否包含另一个字符串
2011-04-26 15:42 4313. 目录: 一.方法介绍 二.图示意 三.源代码 一.方法 ... -
在MyEclipse中添加Java、Struts...源码
2011-03-09 15:14 1151三种方法: 第一种: “window”-> " ... -
使用接口的核心原因:为了向上转型为多个基类型,以及由此带来的灵活。
2010-12-01 13:45 1160package thinkingInJava.interf ... -
后台打印在参看程序执行流程中的重要作用
2010-11-15 13:19 1002附注:在每个方法里打印”进入这个方法、方法的名称”,这样 ... -
自定义类中2个元素的比较升级到3个元素的比较
2010-10-28 23:26 1238可以先参考一下前面的一篇文章:为了比较,让自己的类实现Comp ... -
给你一个字符串,包含了空格等标点符号,要你计算出出现次数最多的字母和该字母出现的次数。
2010-10-26 23:59 2817关于Map.Entry可以参看在容器中使用增强的for循环, ... -
在容器中使用增强的for循环,简洁大气,结构清晰
2010-10-26 21:44 1502除了增强的for循环使代 ... -
求模( Modulus )与求余(Remainder) (转)
2010-10-26 17:37 2463import java.math.BigInteger; ... -
今天非常高兴,解决了一个由来已久的单词出现频率统计问题。以及容器浅总结
2010-10-26 16:33 2684总述:人与动物的最大 ... -
为了比较,让自己的类实现Comparable接口,重写compareTo
2010-10-26 14:56 20800首先需要实现带泛型的Comparable接口,按照自己想要 ...
相关推荐
Java.util包是Java标准库中的核心包之一,它包含了大量用于日常编程的工具类和接口。这个包在Java 2版本中得到了显著增强,引入了许多重要的数据结构和算法,为Java程序员提供了更丰富的功能。 首先,Java.util包中...
Java中的`java`包是标准Java开发工具包的一部分,它提供了基础的编程功能,包括但不限于IO处理、图形用户界面、集合框架等。而`javax`则被视为Java的扩展包,主要用于Java企业级应用的开发,如J2EE中的Servlets、JSP...
在java.util包中,包含了一些Java集合框架的基础类,比如Enumeration、Hashtable、Stack、Vector等,以及日期和时间处理相关的类,如Calendar、Date、TimeZone等。同时,提及了Timer和TimerTask,它们用于任务调度,...
在Java编程语言中,`java.util....总之,`Vector`是Java集合框架的一部分,提供了一种线程安全的方式来管理动态数组。理解其特性和用法对于编写多线程Java程序至关重要,但同时也要权衡其性能和线程安全之间的平衡。
例如`java.lang`包下的基础类如`Object`、`String`,`java.util`包中的集合框架,以及`javax.swing`和`javax.servlet`等用于图形用户界面和Web应用开发的API。这些源码对于学习和理解Java API的设计原则和实现细节...
本文通过对`java.util.Iterator`接口的深入分析,展示了其在Java集合框架中的重要作用。通过使用`Iterator`模式,我们能够以统一的方式遍历不同类型的集合,同时保持代码的简洁性和可维护性。这对于理解和开发高质量...
Java.util.concurrent(JUC)是Java平台中的一个核心包,专门用于处理多线程并发问题。这个包包含了大量的工具类和接口,极大地简化了并发编程的复杂性,提高了程序的性能和可伸缩性。本测试源文件主要是针对JUC并发...
1. **集合框架扩展**:可能包含对Java内置集合类(如List、Set、Map)的增强,提供更高效的操作,例如快速排序、线程安全的实现等。 2. **日期和时间处理**:提供更加灵活和强大的日期时间操作,弥补Java 8之前的...
1. **集合框架**:Java的集合框架是`java.util`包的核心部分,包括List、Set、Queue和Map接口,以及它们的实现类。例如: - `ArrayList` 和 `LinkedList`:这两个类分别实现了List接口,它们分别基于动态数组和双向...
Java.util.concurrent 包是 Java 并发编程的重要组成部分,提供了高级并发工具和线程管理机制。这个包中包含的主要类和接口如下: 1. **线程池**: - `ExecutorService`:线程池接口,提供管理和控制线程的框架。 ...
集合是将多个元素组成一个单元的...Java集合框架,为我们提供了一套性能优良、使用方便的接口和类,我们不必再重新发明轮子,只需学会如何使用它们,就可以处理实际应用中出现的问题了Java集合框架位于java.util包中
java.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。 java.util.regex 用于匹配字符序列与正则表达式指定模式的类。 java.util.spi java.util 包中类的服务提供者类。 java.util.zip 提供...
1. **`java.util.ArrayList`与`java.util.LinkedList`**:这两个是Java集合框架中的重要类,分别代表动态数组和链表。ArrayList适合于随机访问,而LinkedList适用于频繁的插入和删除操作。 2. **`java.util.HashMap...
源码部分提供了书中示例的完整实现,这些示例涵盖了面向对象编程的基础,如封装、继承、多态,以及高级主题,如集合框架、并发编程、网络编程、I/O流等。通过对这些代码的阅读和分析,读者可以更深入地理解Java编程...
`commons-logging`是一个通用的日志框架,它允许`net.sf.json`库根据应用的配置使用不同的日志实现,如Log4j或Java内置的日志系统。 总结来说,`net.sf.json`包是Java中处理JSON数据的一个强大工具,它提供了丰富的...
2. **集合框架**:Java集合框架由`java.util`包及其子包构成,包括List、Set、Map等接口以及ArrayList、HashSet、HashMap等实现。这些类和接口提供了强大的数据组织和操作能力,如泛型支持、迭代器、并发控制等。 3...
10. **集合框架**:`java.util`包中的`List`、`Set`、`Map`等接口以及它们的实现类,如`ArrayList`、`HashSet`、`HashMap`,构成了Java强大的集合框架,用于存储和操作对象。 Java参考手册是每个Java开发者不可或缺...
- `java.util`: 提供了各种工具类和集合框架,如`ArrayList`、`HashMap`、`Date`和`Calendar`。 - `java.io`: 处理输入/输出操作,包括文件读写、流操作等。 - `java.net`: 支持网络编程,包括套接字(Socket)、...
Java集合框架是Java编程语言中一个重要的组成部分,它提供了一组高级数据结构,使得程序员能够高效地管理和操作数据。在本篇文章中,我们将深入探讨Java集合框架中的主要接口和类,以及它们之间的区别。 首先,Java...