📄 keyedvaluecomparator.html
字号:
<FONT color="green">119</FONT> <a name="line.119"></a><FONT color="green">120</FONT> if (this.type == KeyedValueComparatorType.BY_KEY) {<a name="line.120"></a><FONT color="green">121</FONT> if (this.order.equals(SortOrder.ASCENDING)) {<a name="line.121"></a><FONT color="green">122</FONT> result = kv1.getKey().compareTo(kv2.getKey());<a name="line.122"></a><FONT color="green">123</FONT> }<a name="line.123"></a><FONT color="green">124</FONT> else if (this.order.equals(SortOrder.DESCENDING)) {<a name="line.124"></a><FONT color="green">125</FONT> result = kv2.getKey().compareTo(kv1.getKey());<a name="line.125"></a><FONT color="green">126</FONT> }<a name="line.126"></a><FONT color="green">127</FONT> else {<a name="line.127"></a><FONT color="green">128</FONT> throw new IllegalArgumentException("Unrecognised sort order.");<a name="line.128"></a><FONT color="green">129</FONT> }<a name="line.129"></a><FONT color="green">130</FONT> }<a name="line.130"></a><FONT color="green">131</FONT> else if (this.type == KeyedValueComparatorType.BY_VALUE) {<a name="line.131"></a><FONT color="green">132</FONT> Number n1 = kv1.getValue();<a name="line.132"></a><FONT color="green">133</FONT> Number n2 = kv2.getValue();<a name="line.133"></a><FONT color="green">134</FONT> if (n2 == null) {<a name="line.134"></a><FONT color="green">135</FONT> return -1;<a name="line.135"></a><FONT color="green">136</FONT> }<a name="line.136"></a><FONT color="green">137</FONT> if (n1 == null) {<a name="line.137"></a><FONT color="green">138</FONT> return 1;<a name="line.138"></a><FONT color="green">139</FONT> }<a name="line.139"></a><FONT color="green">140</FONT> double d1 = n1.doubleValue();<a name="line.140"></a><FONT color="green">141</FONT> double d2 = n2.doubleValue();<a name="line.141"></a><FONT color="green">142</FONT> if (this.order.equals(SortOrder.ASCENDING)) {<a name="line.142"></a><FONT color="green">143</FONT> if (d1 > d2) {<a name="line.143"></a><FONT color="green">144</FONT> result = 1;<a name="line.144"></a><FONT color="green">145</FONT> }<a name="line.145"></a><FONT color="green">146</FONT> else if (d1 < d2) {<a name="line.146"></a><FONT color="green">147</FONT> result = -1;<a name="line.147"></a><FONT color="green">148</FONT> }<a name="line.148"></a><FONT color="green">149</FONT> else {<a name="line.149"></a><FONT color="green">150</FONT> result = 0;<a name="line.150"></a><FONT color="green">151</FONT> }<a name="line.151"></a><FONT color="green">152</FONT> }<a name="line.152"></a><FONT color="green">153</FONT> else if (this.order.equals(SortOrder.DESCENDING)) {<a name="line.153"></a><FONT color="green">154</FONT> if (d1 > d2) {<a name="line.154"></a><FONT color="green">155</FONT> result = -1;<a name="line.155"></a><FONT color="green">156</FONT> }<a name="line.156"></a><FONT color="green">157</FONT> else if (d1 < d2) {<a name="line.157"></a><FONT color="green">158</FONT> result = 1;<a name="line.158"></a><FONT color="green">159</FONT> }<a name="line.159"></a><FONT color="green">160</FONT> else {<a name="line.160"></a><FONT color="green">161</FONT> result = 0;<a name="line.161"></a><FONT color="green">162</FONT> }<a name="line.162"></a><FONT color="green">163</FONT> }<a name="line.163"></a><FONT color="green">164</FONT> else {<a name="line.164"></a><FONT color="green">165</FONT> throw new IllegalArgumentException("Unrecognised sort order.");<a name="line.165"></a><FONT color="green">166</FONT> }<a name="line.166"></a><FONT color="green">167</FONT> }<a name="line.167"></a><FONT color="green">168</FONT> else {<a name="line.168"></a><FONT color="green">169</FONT> throw new IllegalArgumentException("Unrecognised type.");<a name="line.169"></a><FONT color="green">170</FONT> }<a name="line.170"></a><FONT color="green">171</FONT> <a name="line.171"></a><FONT color="green">172</FONT> return result;<a name="line.172"></a><FONT color="green">173</FONT> }<a name="line.173"></a><FONT color="green">174</FONT> <a name="line.174"></a><FONT color="green">175</FONT> }<a name="line.175"></a></PRE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -