用Java将列表转换为数组

用Java将列表转换为数组

<div id="result"></div>

const $source = document.querySelector('#source');

const $result = document.querySelector('#result');


const typeHandler = function(e) {

  $result.innerHTML = e.target.value;

}


$source.addEventListener('input', typeHandler) // register for oninput

$source.addEventListener('propertychange', typeHandler) // for IE8

// $source.addEventListener('change', typeHandler) // fallback for Firefox for <select><option>, for <input> oninput is enough

<input id="source" />

<div id="result"></div>如何转换List转到Array在爪哇?


检查下面的代码:


ArrayList<Tienda> tiendas;

List<Tienda> tiendasList; 

tiendas = new ArrayList<Tienda>();


Resources res = this.getBaseContext().getResources();

XMLParser saxparser =  new XMLParser(marca,res);


tiendasList = saxparser.parse(marca,res);

tiendas = tiendasList.toArray();


this.adaptador = new adaptadorMarca(this, R.layout.filamarca, tiendas);

setListAdapter(this.adaptador);  

我需要填充数组tiendas带着.的价值tiendasList.


侃侃尔雅
浏览 1317回答 3
3回答

叮当猫咪

要么:Foo[]&nbsp;array&nbsp;=&nbsp;list.toArray(new&nbsp;Foo[0]);或:Foo[]&nbsp;array&nbsp;=&nbsp;new&nbsp;Foo[list.size()];list.toArray(array);&nbsp;//&nbsp;fill&nbsp;the&nbsp;array请注意,这只适用于引用类型的数组。对于基本类型数组,请使用传统方法:List<Integer>&nbsp;list&nbsp;=&nbsp;...;int[]&nbsp;array&nbsp;=&nbsp;new&nbsp;int[list.size()];for(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;list.size();&nbsp;i++)&nbsp;array[i]&nbsp;=&nbsp;list.get(i);最新情况:建议现在使用list.toArray(new Foo[0]);,不是list.toArray(new Foo[list.size()]);.来自JetBrains IntelliJ IDEA的检查:将集合转换为数组有两种样式:要么使用预先大小的数组(如c.toArray(新字符串[C.size()]))或使用空数组(如c.toArray(新字符串[0]).在较早的Java版本中,建议使用预大小数组,因为创建适当大小的数组所必需的反射调用非常慢。但是,由于OpenJDK 6的后期更新,这个调用是复杂的,使得空数组版本的性能与预先大小的版本相同,有时甚至更好。同时,传递预先大小的数组对于并发或同步的集合也是危险的,因为在大小和toArray调用,如果集合在操作期间同时收缩,则可能会在数组末尾产生额外的空值。这种检查允许遵循统一的样式:要么使用空数组(这是现代Java中推荐的),要么使用预先大小的数组(在旧的Java版本或基于非热点的JVM中可能更快)。

慕尼黑8549860

Java 8中的另一种选择:String[]&nbsp;strings&nbsp;=&nbsp;list.stream().toArray(String[]::new);

www说

我偶然发现了解决这个问题的代码片段。//Creating&nbsp;a&nbsp;sample&nbsp;ArrayList&nbsp;List<Long>&nbsp;list&nbsp;=&nbsp;new&nbsp;ArrayList<Long>(); //Adding&nbsp;some&nbsp;long&nbsp;type&nbsp;valueslist.add(100l);list.add(200l);list.add(300l); //Converting&nbsp;the&nbsp;ArrayList&nbsp;to&nbsp;a&nbsp;LongLong[]&nbsp;array&nbsp;=&nbsp;(Long[])&nbsp;list.toArray(new&nbsp;Long[list.size()]); //Printing&nbsp;the&nbsp;resultsSystem.out.println(array[0]&nbsp;+&nbsp;"&nbsp;"&nbsp;+&nbsp;array[1]&nbsp;+&nbsp;"&nbsp;"&nbsp;+&nbsp;array[2]);转换工作如下:它创建一个具有原始列表大小的新的长数组。它使用新创建的数组将原始的ArrayList转换为数组。它将该数组转换为一个长数组(long[]),我将其恰当地命名为“Array”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android
Java