gpt4 book ai didi

java - 如何在Java 8中使用UTF-8字节的键打印trie的键

转载 作者:行者123 更新时间:2023-11-30 07:23:02 25 4
gpt4 key购买 nike

我有一个字典树,其中的键是 UTF-8 字节序列。我想打印所有键,或将它们全部转换为字符串。我递归地遍历 trie,添加或删除 ArrayList 中的字节。

  1. 我应该使用 ArrayList 以外的其他东西吗?我希望它高效。字节缓冲区?

  2. 如果我使用 ArrayList,如何将其转换回字符串?

最佳答案

1) 最有效的可能是足够大的 byte[]它可以容纳最长的键,因此您无需调整其大小。 ArrayList<Byte>非常糟糕,因为有很多盒装Byte s。 ByteBuffer有效,但与原始 byte[] 相比并没有提供太多好处。一个StringBuilder也可以工作,但我不知道从其中删除字节的效果如何。

2) System.out.println(new String(bytes, 0, len, StandardCharsets.UTF_8))哪里byte[] bytes是字节数组并且 len是您需要多少字节。

如果您确实想使用ArrayList<Byte>你可以像这样转换

ArrayList<Byte> byteList = ...
byte[] bytes = new byte[byteList.size()];
for (int i = 0; i < byteList.size(); i++)
bytes[i] = byteList.get(i);
System.out.println(new String(bytes, StandardCharsets.UTF_8));

关于java - 如何在Java 8中使用UTF-8字节的键打印trie的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37232413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com