博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 笔记
阅读量:5904 次
发布时间:2019-06-19

本文共 2266 字,大约阅读时间需要 7 分钟。

  hot3.png

1.对象与对象变量

(1)在Java中,任何对象变量的值都是对存储在另外一个地方的的对象的引用。new 操作符的返回值也是一个引用。

Date deadline = new Date();

两部分:表达式 new Date() 构造了一个Date类型的对象,并且它的值是对新创建对象的引用。

(2)局部变量不会自动地初始化为null,而必须通过调用new 或将它们设置为null进行初始化。

2.如何分割(split)string字符串

使用方法

如下所示:

String string = "004-034556";String[] parts = string.split("-");String part1 = parts[0]; // 004String part2 = parts[1]; // 034556

需要注意的是,该方法的参数是个,要注意对某些字符做转码。例如,.在正则表达式中表示任意字符,因此,如果你要通过.号做分割,需要这样写,split("\\.")或者split(Pattern.quote("."))

如果只是为了验证字符串中是否包含某个字符,使用方法就行。注意该方法的参数,不是正则表达式。

3.Map<Key,Value>基于Value值排序

方法1:

使用TreeMap,可以参考下面的代码

public class Testing {      public static void main(String[] args) {          HashMap
map = new HashMap
(); ValueComparator bvc = new ValueComparator(map); TreeMap
sorted_map = new TreeMap
(bvc); map.put("A",99.5); map.put("B",67.4); map.put("C",67.4); map.put("D",67.3); System.out.println("unsorted map: "+map); sorted_map.putAll(map); System.out.println("results: "+sorted_map); } } class ValueComparator implements Comparator
{ Map
base; public ValueComparator(Map
base) { this.base = base; } // Note: this comparator imposes orderings that are inconsistent with equals. public int compare(String a, String b) { if (base.get(a) >= base.get(b)) { return -1; } else { return 1; } // returning 0 would merge keys } }

译注:如果不自己写Comparator,treemap默认是用key来排序

方法2:

先通过linkedlist排好序,再放到LinkedHashMap中

public class MapUtil  {      public static 
> Map
sortByValue( Map
map ) { List
> list = new LinkedList
>( map.entrySet() ); Collections.sort( list, new Comparator
>() { public int compare( Map.Entry
o1, Map.Entry
o2 ) { return (o1.getValue()).compareTo( o2.getValue() ); } } ); Map
result = new LinkedHashMap
(); for (Map.Entry
entry : list) { result.put( entry.getKey(), entry.getValue() ); } return result; } }

译注:这两种方法,我简单测试了下,如果map的size在十万级别以上,两者的耗时都是几百毫秒,第二个方法会快一些。否则,第一个方法快一些。因此,如果你处理的map,都是几十万级别以下的大小,两种方式随意使用,看个人喜欢了。

转载于:https://my.oschina.net/HJCui/blog/780862

你可能感兴趣的文章
python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
查看>>
javascript继承方式详解
查看>>
lnmp环境搭建
查看>>
自定义session扫描器精确控制session销毁时间--学习笔记
查看>>
PHP队列的实现
查看>>
单点登录加验证码例子
查看>>
[T-SQL]从变量与数据类型说起
查看>>
occActiveX - ActiveX with OpenCASCADE
查看>>
BeanUtils\DBUtils
查看>>
python模块--os模块
查看>>
Java 数组在内存中的结构
查看>>
《关爱码农成长计划》第一期报告
查看>>
学习进度表 04
查看>>
谈谈javascript中的prototype与继承
查看>>
时序约束优先级_Vivado工程经验与各种时序约束技巧分享
查看>>
minio 并发数_MinIO 参数解析与限制
查看>>
flash back mysql_mysqlbinlog flashback 使用最佳实践
查看>>
mysql存储引擎模式_MySQL存储引擎
查看>>
java 重写system.out_重写System.out.println(String x)方法
查看>>
配置ORACLE 11g绿色版客户端和PLSQL远程连接环境
查看>>