📄 datautilities.html
字号:
<FONT color="green">117</FONT> <a name="line.117"></a><FONT color="green">118</FONT> /**<a name="line.118"></a><FONT color="green">119</FONT> * Constructs an array of arrays of <code>Number</code> objects from a <a name="line.119"></a><FONT color="green">120</FONT> * corresponding structure containing <code>double</code> primitives.<a name="line.120"></a><FONT color="green">121</FONT> *<a name="line.121"></a><FONT color="green">122</FONT> * @param data the data (<code>null</code> not permitted).<a name="line.122"></a><FONT color="green">123</FONT> *<a name="line.123"></a><FONT color="green">124</FONT> * @return An array of <code>Double</code>.<a name="line.124"></a><FONT color="green">125</FONT> */<a name="line.125"></a><FONT color="green">126</FONT> public static Number[][] createNumberArray2D(double[][] data) {<a name="line.126"></a><FONT color="green">127</FONT> if (data == null) {<a name="line.127"></a><FONT color="green">128</FONT> throw new IllegalArgumentException("Null 'data' argument."); <a name="line.128"></a><FONT color="green">129</FONT> }<a name="line.129"></a><FONT color="green">130</FONT> int l1 = data.length;<a name="line.130"></a><FONT color="green">131</FONT> Number[][] result = new Number[l1][];<a name="line.131"></a><FONT color="green">132</FONT> for (int i = 0; i < l1; i++) {<a name="line.132"></a><FONT color="green">133</FONT> result[i] = createNumberArray(data[i]);<a name="line.133"></a><FONT color="green">134</FONT> }<a name="line.134"></a><FONT color="green">135</FONT> return result;<a name="line.135"></a><FONT color="green">136</FONT> }<a name="line.136"></a><FONT color="green">137</FONT> <a name="line.137"></a><FONT color="green">138</FONT> /**<a name="line.138"></a><FONT color="green">139</FONT> * Returns a {@link KeyedValues} instance that contains the cumulative <a name="line.139"></a><FONT color="green">140</FONT> * percentage values for the data in another {@link KeyedValues} instance.<a name="line.140"></a><FONT color="green">141</FONT> * <p><a name="line.141"></a><FONT color="green">142</FONT> * The percentages are values between 0.0 and 1.0 (where 1.0 = 100%).<a name="line.142"></a><FONT color="green">143</FONT> *<a name="line.143"></a><FONT color="green">144</FONT> * @param data the data (<code>null</code> not permitted).<a name="line.144"></a><FONT color="green">145</FONT> *<a name="line.145"></a><FONT color="green">146</FONT> * @return The cumulative percentages.<a name="line.146"></a><FONT color="green">147</FONT> */<a name="line.147"></a><FONT color="green">148</FONT> public static KeyedValues getCumulativePercentages(KeyedValues data) {<a name="line.148"></a><FONT color="green">149</FONT> if (data == null) {<a name="line.149"></a><FONT color="green">150</FONT> throw new IllegalArgumentException("Null 'data' argument."); <a name="line.150"></a><FONT color="green">151</FONT> }<a name="line.151"></a><FONT color="green">152</FONT> DefaultKeyedValues result = new DefaultKeyedValues();<a name="line.152"></a><FONT color="green">153</FONT> double total = 0.0;<a name="line.153"></a><FONT color="green">154</FONT> for (int i = 0; i < data.getItemCount(); i++) {<a name="line.154"></a><FONT color="green">155</FONT> Number v = data.getValue(i);<a name="line.155"></a><FONT color="green">156</FONT> if (v != null) {<a name="line.156"></a><FONT color="green">157</FONT> total = total + v.doubleValue();<a name="line.157"></a><FONT color="green">158</FONT> }<a name="line.158"></a><FONT color="green">159</FONT> }<a name="line.159"></a><FONT color="green">160</FONT> double runningTotal = 0.0;<a name="line.160"></a><FONT color="green">161</FONT> for (int i = 0; i < data.getItemCount(); i++) {<a name="line.161"></a><FONT color="green">162</FONT> Number v = data.getValue(i);<a name="line.162"></a><FONT color="green">163</FONT> if (v != null) {<a name="line.163"></a><FONT color="green">164</FONT> runningTotal = runningTotal + v.doubleValue();<a name="line.164"></a><FONT color="green">165</FONT> }<a name="line.165"></a><FONT color="green">166</FONT> result.addValue(data.getKey(i), new Double(runningTotal / total));<a name="line.166"></a><FONT color="green">167</FONT> }<a name="line.167"></a><FONT color="green">168</FONT> return result;<a name="line.168"></a><FONT color="green">169</FONT> }<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></PRE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -