如何解决我们可以在Java中的双ArrayList上使用Character的get,add,push和pop选项吗
我的主要问题是我试图使用字符并获取字符的值。我正在研究一种欧拉方法,并且试图获得下一个要点,那就是角色,但是它不允许我为角色做。我只被允许使用Integers。它也不会让我添加到双精度ArrayList中,这会问是否允许这样做。
是否可以推送,弹出,获取和添加字符元素?
private ArrayList<ArrayList<Character>> adjacents;
void addEdge(char x,char y)
{
adjacents.get((Character)x).add(y);
}
我知道当我使用整数时这种方法有效,但是我不明白为什么不使用字符。
这是用Java编码的。
答案:
发布此内容后,我得到一个问题,我不能使用字符,而是为字符数组调用函数get,add,remove等。我以前从未听说过,这就是为什么我最初的问题令许多人困惑的原因。让我知道您是否可以这样做,因为从我现在的理解来看,我认为我们不能做到。
解决方法
此问题与method get(int index)
一起提供。如果将它传递给int,将得到所见内容,但是如果将它传递给char
,它将被解释为{{ 3}}值,而将ascii设置为整数。
假设您将其称为字符“ 0”,则隐式转换使您可以使用列表中不存在的ascii / int get(48)
进行呼叫。
一种处理方法是使用Map<Character,ArrayList<Character>>
,这样您的代码即可按预期工作。
但是实际上,从您的评论看来,您可能正在搜索如下内容:
class Edge{
public final char from;
public final char to;
Edge(char from,char to) {
this.from = from;
this.to = to;
}
}
List<Edge> adjacents...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。