Java 通过iterable字符串(番石榴)获取元素
我有一个可编辑的字符串(番石榴库)。如何从中获取元素。这是我的密码:Java 通过iterable字符串(番石榴)获取元素,java,string,guava,Java,String,Guava,我有一个可编辑的字符串(番石榴库)。如何从中获取元素。这是我的密码: public static String hillcipher(String str) { String hillcipher=""; Iterable<String> pieces = null; for (int i=0; i<=str.length()-1; i++){ char c = str.charAt(i); if (Character.i
public static String hillcipher(String str)
{
String hillcipher="";
Iterable<String> pieces = null;
for (int i=0; i<=str.length()-1; i++){
char c = str.charAt(i);
if (Character.isLetter(c)){
pieces = Splitter.fixedLength(2).split(str);
}
}
System.out.println(pieces);
return hillcipher;
publicstaticstringhillcipher(stringstr)
{
字符串hillcipher=“”;
Iterable片段=空;
对于(int i=0;i,有多种方法可以从iterable中获取元素:
- 迭代每个元素:
for (String piece : pieces) {
// do something
}
或
或
等等
但是,如果您想像访问列表一样简单地访问元素,则可以使用列表。它与Splitter.split(CharSequence)相同
但它不是返回一个潜在的惰性的Iterable
而是返回一个填充的不可变列表
,该列表支持对其元素的随机访问。这段代码应该做什么?在这里,我将一个字符串拆分为两个字符。例如,“java”将被拆分为“ja”、“va”.但是我想把每个字符分开,只是为了对它们进行其他计算。你不会把一个字符串分成几段。或者更确切地说,你正在这样做,但是每次你遇到字符串中的一个字母时你都在这样做。你想实现什么?我是这样做的。我运行命令,它就工作了。这不是整个程序都是一个类。最后,我我将开发一个希尔密码函数如果你想分别得到每个字符,那么为什么不使用每个字符的结果呢?为什么不进行拆分呢?
Iterator<String> iterator = pieces.iterator();
while (iterator.hasNext()) {
String piece = iterator.next();
// do something
}
Iterator<String> iterator = pieces.iterator();
if (iterator.hasNext()) {
String firstPiece = iterator.next();
// do something
if (iterator.hasNext()) {
String secondPiece = iterator.next();
// do something else
// etc.
}
}
String thirdPiece = Iterables.get(pieces, 2);
String lastPieceOrEmpty = Iterables.getLast(pieces, "");