为了账号安全,请及时绑定邮箱和手机立即绑定

如何向数组中添加新元素?

如何向数组中添加新元素?

千万里不及你 2019-06-25 13:52:49
如何向数组中添加新元素?我有以下代码:String[] where;where.append(ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1");where.append(ContactsContract.Contacts.IN_VISIBLE_GROUP + "=1");这两个附件没有编译。那该怎么做呢?
查看完整描述

3 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

List<String>,如ArrayList<String>..它是动态增长的,不像数组(参见:有效Java第2版,第25项:更喜欢列表而不是数组).

import java.util.*;//....List<String> list = new ArrayList<String>();list.add("1");list.add("2");list.add("3");System.out.println(list);
 // prints "[1, 2, 3]"

如果坚持使用数组,则可以使用java.util.Arrays.copyOf若要分配更大的数组以容纳附加元素,请执行以下操作。不过,这确实不是最好的解决办法。

static <T> T[] append(T[] arr, T element) {
    final int N = arr.length;
    arr = Arrays.copyOf(arr, N + 1);
    arr[N] = element;
    return arr;}String[] arr = { "1", "2", "3" };System.out.println(Arrays.toString(arr));
     // prints "[1, 2, 3]"arr = append(arr, "4");System.out.println(Arrays.toString(arr)); // prints "[1, 2, 3, 4]"

这是O(N)appendArrayList另一方面,O(1)每项业务的摊销费用。

另见

  • Java教程/数组

    • 数组是一个容器对象,它持有固定数量的单个类型的值。创建数组时将确定数组的长度。在创建之后,它的长度是固定的。
  • Java教程/列表接口


查看完整回答
反对 回复 2019-06-25
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

还有另一个选项,我在这里没有看到,它不涉及“复杂”对象或集合。

String[] array1 = new String[]{"one", "two"};String[] array2 = new String[]{"three"};String[] array = new String[array1.length + array2.length];
System.arraycopy(array1, 0, array, 0, array1.length);System.arraycopy(array2, 0, array, array1.length, array2.length);


查看完整回答
反对 回复 2019-06-25
  • 3 回答
  • 0 关注
  • 1084 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信