将插件数组分成两半
Split plugin array into 2 halfs
我正在使用以下方法获取服务器上的插件数组:
Plugin[] pls = Bukkit.getPluginManager().getPlugins();
我需要将数组分成两半。我知道我可以使用以下方法将数组分成两半:
Plugin[] hHalf = Arrays.copyOfRange(pls, 0, pls.length/2);
但是我如何获得另一半呢?
编辑:嗯,我明白了。谢谢大家!
会不会是Arrays.copyOfRange(pls, pls.length/2, pls.length)
的形式
您可以使用:
Arrays.copyOfRange(pls, pls.length / 2, pls.length)
当您调用 Arrays.copyOfRange(pls, 0, pls.length/2)
时,您将获得从数组的第一个值(索引 0)到中间(索引 pls.length / 2
)的所有值。
调用 Arrays.copyOfRange(pls, pls.length / 2, pls.length)
时,您将获取数组中间(索引 pls.length / 2
)到末尾的所有值,有效地获取数组的两半。
例如,如果你想把它分成三份,你可以使用:
first = Arrays.copyOfRange(pls, 0, pls.length / 3);
second = Arrays.copyOfRange(pls, pls.length / 3, (pls.length / 3) * 2);
third = Arrays.copyOfRange(pls, pls.length / 3, pls.length);
如果长度为奇数(比如数组["apples", "oranges", "carrots"]
,可以使用:
firstHalf = Arrays.copyOfRange(pls, 0, Math.round(pls.length / 2));
secondHalf = Arrays.copyOfRange(pls, Math.round(pls.length / 2), pls.length);
因此,您的代码可能如下所示:
Plugin[] pls = Bukkit.getPluginManager().getPlugins();
Plugin[] firstHalf = Arrays.copyOfRange(pls, 0, Math.round(pls.length / 2));
Plugin[] secondHalf = Arrays.copyOfRange(pls, Math.round(pls.length / 2), pls.length);
你已经完成了第 1 部分
Plugin[] hHalf = Arrays.copyOfRange(pls, 0, pls.length/2);
所以下半场你也可以这样
Plugin[] hHalf = Arrays.copyOfRange(pls,pls.length/2,pls.length);
我正在使用以下方法获取服务器上的插件数组:
Plugin[] pls = Bukkit.getPluginManager().getPlugins();
我需要将数组分成两半。我知道我可以使用以下方法将数组分成两半:
Plugin[] hHalf = Arrays.copyOfRange(pls, 0, pls.length/2);
但是我如何获得另一半呢?
编辑:嗯,我明白了。谢谢大家!
会不会是Arrays.copyOfRange(pls, pls.length/2, pls.length)
您可以使用:
Arrays.copyOfRange(pls, pls.length / 2, pls.length)
当您调用 Arrays.copyOfRange(pls, 0, pls.length/2)
时,您将获得从数组的第一个值(索引 0)到中间(索引 pls.length / 2
)的所有值。
调用 Arrays.copyOfRange(pls, pls.length / 2, pls.length)
时,您将获取数组中间(索引 pls.length / 2
)到末尾的所有值,有效地获取数组的两半。
例如,如果你想把它分成三份,你可以使用:
first = Arrays.copyOfRange(pls, 0, pls.length / 3);
second = Arrays.copyOfRange(pls, pls.length / 3, (pls.length / 3) * 2);
third = Arrays.copyOfRange(pls, pls.length / 3, pls.length);
如果长度为奇数(比如数组["apples", "oranges", "carrots"]
,可以使用:
firstHalf = Arrays.copyOfRange(pls, 0, Math.round(pls.length / 2));
secondHalf = Arrays.copyOfRange(pls, Math.round(pls.length / 2), pls.length);
因此,您的代码可能如下所示:
Plugin[] pls = Bukkit.getPluginManager().getPlugins();
Plugin[] firstHalf = Arrays.copyOfRange(pls, 0, Math.round(pls.length / 2));
Plugin[] secondHalf = Arrays.copyOfRange(pls, Math.round(pls.length / 2), pls.length);
你已经完成了第 1 部分
Plugin[] hHalf = Arrays.copyOfRange(pls, 0, pls.length/2);
所以下半场你也可以这样
Plugin[] hHalf = Arrays.copyOfRange(pls,pls.length/2,pls.length);