- 浏览: 2654876 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
在java程序中用的最多的就是泛型容器,比如:
Map<String,String> map = new HashMap<String,String>()
通过Generi可以这样简写:
Map<String,String> map = Generi.map()
List<String> list = Generic.list("1","2","3")
其实直接使用guava比较强大---》http://bastengao.iteye.com/blog/1134887
Map<String,String> map = new HashMap<String,String>()
通过Generi可以这样简写:
Map<String,String> map = Generi.map()
List<String> list = Generic.list("1","2","3")
其实直接使用guava比较强大---》http://bastengao.iteye.com/blog/1134887
package org.python.util; import java.io.IOException; import java.io.ObjectInputStream; import java.io.Serializable; import java.util.AbstractSet; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.WeakHashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; /** * Static methods to make instances of collections with their generic types inferred from what * they're being assigned to. The idea is stolen from <code>Sets</code>, <code>Lists</code> and * <code>Maps</code> from <a href="http://code.google.com/p/google-collections/">Google * Collections</a>. */ public class Generic { /** * Our default ConcurrentHashMap sizes. Only concurreny level differs from * ConcurrentHashMap's defaults: it's significantly lower to reduce allocation cost. */ public static final int CHM_INITIAL_CAPACITY = 16; public static final float CHM_LOAD_FACTOR = 0.75f; public static final int CHM_CONCURRENCY_LEVEL = 2; /** * Makes a List with its generic type inferred from whatever it's being assigned to. */ public static <T> List<T> list() { return new ArrayList<T>(); } /** * Makes a List with its generic type inferred from whatever it's being assigned to filled with * the items in <code>contents</code>. */ public static <T, U extends T> List<T> list(U...contents) { List<T> l = new ArrayList<T>(contents.length); for (T t : contents) { l.add(t); } return l; } /** * Makes a Map using generic types inferred from whatever this is being assigned to. */ public static <K, V> Map<K, V> map() { return new HashMap<K, V>(); } /** * Makes a ConcurrentMap using generic types inferred from whatever this is being * assigned to. */ public static <K, V> ConcurrentMap<K, V> concurrentMap() { return new ConcurrentHashMap<K, V>(CHM_INITIAL_CAPACITY, CHM_LOAD_FACTOR, CHM_CONCURRENCY_LEVEL); } /** * Makes a Set using the generic type inferred from whatever this is being assigned to. */ public static <E> Set<E> set() { return new HashSet<E>(); } /** * Makes a Set using the generic type inferred from whatever this is being assigned to filled * with the items in <code>contents</code>. */ public static <T, U extends T> Set<T> set(U...contents) { Set<T> s = new HashSet<T>(contents.length); for (U u : contents) { s.add(u); } return s; } /** * Makes a Set, ensuring safe concurrent operations, using generic types inferred from * whatever this is being assigned to. */ public static <E> Set<E> concurrentSet() { return newSetFromMap(Generic.<E, Boolean>concurrentMap()); } /** * Return a Set backed by the specified Map with the same ordering, concurrency and * performance characteristics. * * The specified Map must be empty at the time this method is invoked. * * Note that this method is based on Java 6's Collections.newSetFromMap, and will be * removed in a future version of Jython (likely 2.6) that will rely on Java 6. * * @param map the backing Map * @return a Set backed by the Map * @throws IllegalArgumentException if Map is not empty */ public static <E> Set<E> newSetFromMap(Map<E, Boolean> map) { return new SetFromMap<E>(map); } /** * A Set backed by a generic Map. */ private static class SetFromMap<E> extends AbstractSet<E> implements Serializable { /** The backing Map. */ private final Map<E, Boolean> map; /** Backing's KeySet. */ private transient Set<E> keySet; public SetFromMap(Map<E, Boolean> map) { if (!map.isEmpty()) { throw new IllegalArgumentException("Map is non-empty"); } this.map = map; keySet = map.keySet(); } @Override public int size() { return map.size(); } @Override public boolean isEmpty() { return map.isEmpty(); } @Override public boolean contains(Object o) { return map.containsKey(o); } @Override public boolean containsAll(Collection<?> c) { return keySet.containsAll(c); } @Override public Iterator<E> iterator() { return keySet.iterator(); } @Override public Object[] toArray() { return keySet.toArray(); } @Override public <T> T[] toArray(T[] a) { return keySet.toArray(a); } @Override public boolean add(E e) { return map.put(e, Boolean.TRUE) == null; } @Override public boolean remove(Object o) { return map.remove(o) != null; } @Override public boolean removeAll(Collection<?> c) { return keySet.removeAll(c); } @Override public boolean retainAll(Collection<?> c) { return keySet.retainAll(c); } @Override public void clear() { map.clear(); } @Override public boolean equals(Object o) { return o == this || keySet.equals(o); } @Override public int hashCode() { return keySet.hashCode(); } @Override public String toString() { return keySet.toString(); } private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); keySet = map.keySet(); } } }
发表评论
-
Raft
2018-07-12 14:20 738前言 上篇文章说解决问题要分而治之,先把分片的问题解决了再 ... -
java uuid
2017-09-14 18:18 557在java中产生uuid的方式是使用java.util.UU ... -
JAVA 编码规范
2017-09-06 11:34 408https://google.github.io/style ... -
mac 入门
2015-12-01 16:28 623http://foocoder.com/blog/wo-zai ... -
RingBufferTester
2015-05-17 11:26 705package mytest; import java ... -
java 反编译工具gad
2014-05-09 12:04 964java 反编译工具gad,备个份。 -
java 代码大全(code book)
2014-04-29 10:59 1067参考这里: http://www.java2s.com/C ... -
clean code--两种不同代码写法。
2014-02-20 15:32 729clean code--两种不同代码写法。 ... -
CRC32 quick code
2014-02-19 11:25 501CRC32 使用的example code // CRC ... -
solr query code
2014-02-14 10:36 643http://10.246.45.41:51276/sol ... -
SQL语法解析器JSQLParser
2014-02-09 19:53 2139SQL 语法解释器jsqlparser 是用java ... -
solr code quick start
2014-02-07 10:19 920客户端项目依赖: <project xmlns=& ... -
查看网络的脚本
2014-01-22 14:52 638贴一段code net.sh #!/bin/ba ... -
hbase example code
2014-01-16 16:58 1053本地连接hbase: Configuration con ... -
python和linux命令交互方式总结
2014-01-09 10:11 1782python和linux命令交互有两种方式: 1. 直接 ... -
hdfs例子之读写MapFile
2014-01-03 10:16 2151package mytest; import jav ... -
hbase API code
2013-12-26 16:11 0package mytest; import jav ... -
几种file copy的性能对比
2013-12-16 10:45 1678测试了几种file copy的性能: package m ... -
BufferedInputStream 深入研究。
2013-11-19 13:26 14201. BufferedInputStream的基本原理 ... -
java 启动脚本
2013-08-22 19:08 977java 启动脚本 #!/bin/bash cmd=&q ...
相关推荐
常用的集合类Iterator迭代器的使用foreach循环 泛型Collections、Arrays工具
本资料 "[Java泛型和集合].(Java.Generics.and.Collections).Maurice.Naftalin&Philip.Wadler.文字版" 由知名专家Maurice Naftalin和Philip Wadler编著,提供了关于这些主题的深入理解。 **Java泛型** 是自Java...
通过阅读"Java Generics and Collections",开发者不仅可以掌握Java泛型和集合的基本使用,还能深入了解它们的高级特性和最佳实践,从而在实际项目中编写出更高质量的代码。这本书对于Java程序员来说是一份宝贵的...
在C#编程中,System.Collections命名空间包含了许多非泛型集合接口,这些接口是.NET框架早期版本的基础,尽管现在泛型集合接口(如`IEnumerable<T>`)更为常用,但理解非泛型接口对于维护旧代码或处理特定场景仍然很...
dotnet 非泛型 类型 System.Collections.IEnumerable 不能与类型实参一起使用如果在开发的时候遇到非泛型 类型“IEnumer
非泛型集合主要位于 `System.Collections` 命名空间中,包括但不限于 `ArrayList`, `Hashtable`, `Queue`, `SortedList`, `Stack` 等。这些集合在设计之初并未考虑到类型安全性的问题,因此它们只能存储 `object` ...
8. **泛型支持**:Collections库在3.2.2版本中已经支持Java泛型,这使得代码更具类型安全性和可读性。 9. **性能优化**:对一些常见操作进行了优化,如列表的快速填充、集合的复制等,提高了代码执行效率。 在实际...
10. **泛型支持**:尽管在Java 5引入泛型时,Commons Collections已经存在,但它通过桥接方法对泛型提供了很好的支持,允许在不支持泛型的旧代码和新代码之间平滑过渡。 总之,`commons-collections-3.2.2-bin.tar`...
例如,`Collections.sort(List)`就是一个泛型算法,可以对任何实现了`Comparable<T>`接口的列表进行排序。 #### 使用与自定义泛型 在使用泛型类或泛型算法时,理解类型参数的约束至关重要。例如,如果一个泛型类...
在C#中,`System.Collections.Generic`命名空间提供了多个泛型集合类,如`List<T>`、`Dictionary, TValue>`等,它们替代了早期的非泛型集合,如`ArrayList`和`Hashtable`,因为泛型集合能确保在编译时就检查类型匹配...
.NET Framework 2.0引入了一系列泛型集合类,这些集合类位于`System.Collections.Generic`命名空间中。与非泛型集合相比,泛型集合提供了更强的类型安全性,减少了运行时的装箱与拆箱操作,提高了程序性能。 #### ...
- 与Java 5及更高版本的兼容性:使用泛型、枚举和可变参数等特性。 - 性能优化:部分算法和实现进行了性能提升。 - 新的集合实现:例如双向映射、有序集合、多值映射等。 - 新的功能:如流API支持、更强大的函数...
例如,`System.Collections.Generic.List<T>`就是一个泛型结构体,其中`T`是一个类型参数,代表了列表可以存储的任意类型。我们可以通过指定具体的类型来实例化这个泛型结构体,如`List<int>`或`List<string>`。 ...
2. 泛型方法:如`Collections.sort()`方法接受一个带类型参数的列表,可以对不同类型的数据进行排序。 3. 泛型接口:如`Comparable<T>`接口,用于定义对象之间的比较规则。 4. 实现多态性:泛型可以用来创建多态的...
1. **泛型支持**:Commons Collections 4引入了全面的泛型支持,这意味着你可以创建类型安全的集合,避免了运行时类型转换异常。这提高了代码的稳定性和安全性。 2. **Bag接口**:在Java标准库中没有提供类似的数据...
创建泛型集合主要使用`System.Collections.Generic`命名空间下的`List<T>`类。以下是一个创建和操作`Person`对象集合的例子: ```csharp class Person { public string Name { get; } public int Age { get; } ...
从某个版本开始,Commons Collections引入了泛型,使得代码更加类型安全,避免了不必要的类型转换,并提高了编译时的错误检查能力。 **版本兼容性** 由于这个压缩包包含了从1.0到3.2.1的所有版本,因此可以根据你的...
6. **Collections**: 这是一个包含各种集合操作的工具类,如排序、查找、翻转等。提供的算法类包括`sort()`, `binarySearch()`, `reverse()`, `shuffle()`等。 泛型是Java中处理类型安全的一种方式,允许我们在类、...
6. **泛型集合**:C#的System.Collections.Generic命名空间提供了许多泛型集合,如List、Dictionary, TValue>、Queue和Stack等。这些集合比非泛型版本更安全,因为它们在编译时就进行了类型检查,减少了运行时的错误...