首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

为什么我的数据不顺序排序原来如此 | Java Debug 笔记

突然接到一个需求是要求将数据列按照一定顺序返回。前端直接按照我返回的顺序进行渲染。刚接到需求觉得很简单,将数据依次写入就行了。关于具体需求我们就不深究了。下面梳理下当时发现问题及解决的一个过程吧。...结果很明显我们写入的顺序是a、d、b、c、e 但是显示出来的顺序缺失a、b、c、d、e 。后来网上翻阅了一下资料说HashMap 是不会按照写入顺序排序的。...HashMap 的key的排序是按照key的hash值进行排序的最近翻看了下HashMap的源码了解了其内部的元素存储原理才明白这个道理。此时才知其所以然。...感觉有点排序的感觉当时为了解决问题就决定尝试一把。结果是完美的。bug解决收工回家。对应刚入行的我还是很有成就感的。时隔多年现在又重新收拾了下自己的bug。...决定一探究竟为什么LinkedHashMap 可以实现按照写入顺序排序。通过结构图我们清楚看到他是HashMap的子类。所以他的存储结构和HashMap基本上是一样的。

11910

sort命令详解及Nginx统计运用

-c   检查文件是否已经按照顺序排序。   -f   排序时,忽略大小写字母。   -M   将前面3个字母依照月份的缩写进行排序。  -n   依照数值的大小排序。  ...-o   将排序后的结果存入指定的文件。  -r   以相反的顺序排序。   -t   指定排序时所用的栏位分隔字符。   -k  选择以哪个区间进行排序。...2 我想让这个文件公司的字母顺序排序,也就是第一个域进行排序:(这个facebook.txt文件有三个域) $ sort -t ‘ ‘ -k 1 facebook.txt baidu 100 5000...100 5000 google 110 5000 sohu 100 4500 guge 50 3000 由于只对第二个字母进行排序,所以我们使用了-k 1.2,1.2的表示方式,表示我们“只”对第二个字母进行排序...d表示对本域按照字典顺序排序(即,只考虑空白和字母)。 f表示对本域忽略大小写进行排序。 i表示忽略“不可打印字符”,只针对可打印字符进行排序

1.2K10

【linux命令讲解大全】082.Linux命令大全:apt-sortpkgs和sort详解及使用示例

-M, --month-sort:按照非月份、一月、十二月的顺序排序。 -h, --human-numeric-sort:根据存储容量排序(注意使用大写字母,例如:2K 1G)。...例子 sort将文件/文本的每一行作为一个单位相互比较,比较原则是从首字符向后依次ASCII码值进行比较,最后将他们升序输出。...例子:从公司英文名称的第二个字母开始排序: $ sort -t ' ' -k 1.2 facebook.txt baidu 100 5000 sohu 100 4500 google 110 5000...你会发现baidu因为第二个字母是a而名列榜首。sohu和google第二个字符都是o,但sohu的h在google的o前面,所以两者分别排在第二和第三。guge只能屈居第四了。...google 110 5000 sohu 100 4500 guge 50 3000 解读:由于只对第二个字母进行排序,所以我们使用了-k 1.2,1.2的表示方式,表示我们只对第二个字母进行排序

7910

shell之sort命令

出现这种情况是由于排序程序将这些数字字符来排序了,排序程序会先比较1和2,显然1小,所以就将10放在2前面喽。这也是sort的一贯作风。...(除了公司名称,其他的别信,都瞎写的^_^) 2 我想让这个文件公司的字母顺序排序,也就是第一个域进行排序:(这个facebook.txt文件有三个域) $ sort -t ‘ ‘ -k 1 facebook.txt...7 突发奇想,从公司英文名称的第二个字母开始进行排序: $ sort -t ‘ ‘ -k 1.2 facebook.txt baidu 100 5000 sohu 100 4500 google 110...100 5000 google 110 5000 sohu 100 4500 guge 50 3000 由于只对第二个字母进行排序,所以我们使用了-k 1.2,1.2的表示方式,表示我们“只”对第二个字母进行排序...d表示对本域按照字典顺序排序(即,只考虑空白和字母)。 f表示对本域忽略大小写进行排序。 i表示忽略“不可打印字符”,只针对可打印字符进行排序

93170
领券