java list数组使用_arraylist-如何在Java中使用数组列表?

arraylist-如何在Java中使用数组列表?

我需要知道是否将数据存储在ArrayList中,并且需要获取存储在其中的值。

例如:如果我有这样的数组列表

ArrayList A = new ArrayList();

A = {"Soad", "mahran"};

我想获取每个String元素,该怎么办?

我尝试通过以下代码来做到这一点:

package arraylist;

import java.util.ArrayList;

public class Main {

public static void main(String[] args) {

ArrayList S = new ArrayList();

String A = "soad ";

S.add(A);

S.add("A");

String F = S.toString();

System.out.println(F);

String [] W = F.split(",");

for(int i=0 ; i

System.out.println(W[i]);

}

}

}

10个解决方案

53 votes

以下代码段给出了一个示例,该示例显示了如何从E get(int index)中的指定索引处获取元素,以及如何使用高级的for-each循环遍历所有元素:

import java.util.*;

//...

List list = new ArrayList();

list.add("Hello!");

list.add("How are you?");

System.out.println(list.get(0)); // prints "Hello!"

for (String s : list) {

System.out.println(s);

} // prints "Hello!", "How are you?"

请注意以下几点:

使用通用E get(int index)和List类型代替原始ArrayList类型。

变量名以小写字母开头

E get(int index)声明为List,即接口类型,而不是实现类型ArrayList。

参考文献

API:

Java Collections Framework教程

E get(int index)

E get(int index)

E get(int index)

Returns the element at the specified position in this list.

不要使用原始类型

JLS 4.8原始类型

仅允许使用原始类型作为对遗留代码兼容性的让步。 强烈建议不要在将通用性引入Java编程语言后在代码中使用原始类型。 Java编程语言的未来版本可能会禁止使用原始类型。

有效的Java 2nd Edition:项目23:不要在新代码中使用原始类型

如果使用原始类型,则将失去泛型的所有安全性和表达优势。

在类型声明中优先使用接口而不是实现类

有效的Java 2nd Edition:项目52:通过其接口引用对象您应该支持使用接口而不是类来引用对象。 如果存在适当的接口类型,则应使用接口类型声明参数,返回值,变量和字段。

命名约定

变量:除变量外,所有实例,类和类常量的大小写都混合使用首字母小写。

polygenelubricants answered 2020-02-16T12:46:58Z

6 votes

列表是元素的有序集合。 您可以使用add方法添加它们,并使用get(int index)方法检索它们。 您还可以遍历List,删除元素等。这是使用List的一些基本示例:

List names = new ArrayList(3); // 3 because we expect the list

// to have 3 entries. If we didn't know how many entries we expected, we

// could leave this empty or use a LinkedList instead

names.add("Alice");

names.add("Bob");

names.add("Charlie");

System.out.println(names.get(2)); // prints "Charlie"

System.out.println(names); // prints the whole list

for (String name: names) {

System.out.println(name); // prints the names in turn.

}

jjujuma answered 2020-02-16T12:47:19Z

3 votes

您可以按索引获取字符串(ArrayList list = new ArrayList();)或对其进行迭代:

for (String s : S) {

System.out.println(s);

}

有关遍历列表的其他方法(及其含义),请参见Java中传统的for循环与Iterator。

另外:

您不应该使用以大写字母开头的变量名称

您应该参数化阵列列表:ArrayList list = new ArrayList();

您应该熟悉Java广泛的API文档(又名Javadoc),例如 Java 5,Java 6

sfussenegger answered 2020-02-16T12:48:02Z

2 votes

这应该可以解决问题:

String elem = (String)S.get(0);

将返回数组中的第一项。

要么

for(int i=0 ; i

System.out.println(S.get(i));

}

dvd answered 2020-02-16T12:48:31Z

1 votes

如果您使用Java 1.5或更高版本,则可以使用:

List S = new ArrayList();

s.add("My text");

for (String item : S) {

System.out.println(item);

}

extraneon answered 2020-02-16T12:48:51Z

1 votes

您应该首先阅读collections framework教程。

但是要回答您的问题,这是您应该如何做:

ArrayList strings = new ArrayList();

strings.add("String1");

strings.add("String2");

// To access a specific element:

System.out.println(strings.get(1));

// To loop through and print all of the elements:

for (String element : strings) {

System.out.println(element);

}

DaveJohnston answered 2020-02-16T12:49:15Z

1 votes

对象get(int index)用于返回存储在   指定在调用集合中的索引。

代码段:

import java.util.*;

class main

{

public static void main(String [] args)

{

ArrayList arr = new ArrayList();

arr.add("Hello!");

arr.add("Ishe");

arr.add("Watson?");

System.out.printf("%s\n",arr.get(2));

for (String s : arr)

{

System.out.printf("%s\n",s);

}

}

}

rashedcs answered 2020-02-16T12:49:40Z

1 votes

三行解决方案,但效果很好:

int[] source_array = {0,1,2,3,4,5,6,7,8,9,10,11};

ArrayList target_list = new ArrayList();

for(int i = 0; i < source_array.length; i++){

target_list.add(random_array[i]);

}

Vadim Gouskov answered 2020-02-16T12:50:00Z

0 votes

Java 8在Iterable接口中引入了forEach()的默认实现,您可以通过声明性方法轻松实现。

List values = Arrays.asList("Yasir","Shabbir","Choudhary");

values.forEach( value -> System.out.println(value));

这是Iterable接口的代码

default void forEach(Consumer super T> action) {

Objects.requireNonNull(action);

for (T t : this) {

action.accept(t);

}

}

参考

Yasir Shabbir Choudhary answered 2020-02-16T12:50:29Z

0 votes

首先,您需要定义需要保留在列表中的数据类型。 正如您已经提到的,数据将是String,列表应该由String类型组成。

然后,如果要获取列表的所有元素,则必须使用简单的for循环或for each循环遍历列表。

List list = new ArrayList<>();

list.add("A");

list.add("B");

for(String s : list){

System.out.println(s);

}

另外,如果要使用原始ArrayList而不是通用ArrayList,则必须向下转换该值。 使用原始ArrayList时,所有元素都以Object的形式存储。

List list = new ArrayList();

list.add("A");

list.add("B");

for(Object obj : list){

String s = (String) obj; //downcasting Object to String

System.out.println(s);

}

Anirudh Agarwal answered 2020-02-16T12:50:59Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值