java如何从List中取值

在下面这个发方法里,生成了两个随机数
public List<String> generatePonits() {

List<String> pointList = new ArrayList<String>();
Random random = new Random();
for (; pointList.size() <= this.VERTEX_NUMBER;) {
int x = Math.abs(random.nextInt())%100;
int y = Math.abs(random.nextInt())%100;
String pointStr = "(" + x + "," + y + ")";
if (!pointList.contains(pointStr)) {
pointList.add(pointStr);
}
}
return pointList;
}
我想在另外一个方法里分别提取到在这个方法中生成的两个随机数,应该用什么方法?
谢谢

Java中的List是一种非常常用的数据结构,可以存储多个元素,并且允许元素重复。点击学习大厂名师精品课
List的取值方式主要有两种:通过索引取值和通过foreach循环遍历取值。
通过索引取值:List中的元素都有一个对应的索引,可以通过该索引访问该元素。Java中的List索引是从0开始的。因此,要访问第一个元素,索引为0,访问第二个元素,索引为1,以此类推。
在Java中,可以使用get()方法获取List中指定索引位置的元素值。
通过foreach循环遍历取值:Java中的List还提供了foreach循环遍历的方式来访问其元素。foreach循环可以遍历整个List,获取每个元素的值。
慕课网是一个拥有众多在线IT课程的教育平台,通过为用户提供专业的课程和规范的学习方式,帮助其获得职业技能和进一步提高个人竞争力。慕课网提供网页、客户端和移动端多种学习方式,让用户可以随时随地进行学习。学习过程中,还能随时随地跟上教学进度、做练习、查看讲义、交流讨论等。这种学习方式的灵活性和互动性在线下实体学校是难以实现的。如果你正在寻找一个方便、质量好、价格亲民的在线平台,慕课网值得你的关注。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-09
要从一个List中取值,可以使用get()方法来获取指定索引位置的元素。在你提供的代码中,generatePonits()方法返回的是一个String类型的List,包含多个由随机生成的坐标组成的字符串。

如果你想要在另一个方法中分别提取出两个随机数,可以先通过get()方法获取对应索引位置的坐标字符串,然后再将其解析为数字。具体步骤如下:

```java
// 获取generatePonits()方法随机生成的第一个坐标字符串,并将其解析为数字
String point1Str = generatePonits().get(0);
int x1 = Integer.parseInt(point1Str.substring(1, point1Str.indexOf(",")));
int y1 = Integer.parseInt(point1Str.substring(point1Str.indexOf(",") + 1, point1Str.length() - 1));

// 获取generatePonits()方法随机生成的第二个坐标字符串,并将其解析为数字
String point2Str = generatePonits().get(1);
int x2 = Integer.parseInt(point2Str.substring(1, point2Str.indexOf(",")));
int y2 = Integer.parseInt(point2Str.substring(point2Str.indexOf(",") + 1, point2Str.length() - 1));
```

以上代码假设你想要获取generatePonits()方法随机生成的第一个和第二个坐标,并将它们包含的x和y坐标分别解析为整数。这里使用了String类的substring()方法来截取坐标字符串中的x和y坐标部分,并用Integer类的parseInt()方法将它们解析为整数。需要注意的是,由于坐标字符串的格式是"(x,y)",因此在使用substring()方法时需要去掉开头的"("和结尾的")"。

当然,如果你仅仅只是想在generatePonits()方法和另一个方法之间传递生成的随机数,也可以考虑将它们定义为类成员变量,而不是在generatePonits()方法内部声明。这样就可以在不同的方法之间共享这些随机数了。
第2个回答  推荐于2017-10-02
List<String> lists=new ArrayList<String>();
lists.add("aaa");
lists.add("bbb");
lists.add("ccc");
lists.add("ddd");
for(String list : lists){

System.out.println(list);
}
第3个回答  2013-06-30
如果是在同一个类里:
List<String> pointList = generatePonits();
pointList.get(0); //获取第1个,以此类推
第4个回答  推荐于2017-09-28
List<String> pointList = generatePonits();

if(pointList != null && pointList.size() == 2)
{
int x = pointList.get(0);
int y = pointList .get(1);
}本回答被提问者采纳