`
javashuaibushuai
  • 浏览: 2049 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java ArrayList<String> 转 String[] 效率对比

    博客分类:
  • java
阅读更多

 

开发时看到同事将ArrayList转为String的时候是手动遍历来做的,好奇为啥不实用jdk提供的方法呢,于是乎做了一个实验,两种方法的性能相差是相当惊人的:

import java.util.ArrayList;
import java.util.List;

public class ArrayListToStringArrComp {
	private static List<String> baseData;
	private static final int ARRAY_SIZE = 10000;
	public static void main(String[] args) {
		long begTime;
		long endTime;
		baseData = new ArrayList<String>();
		for (int i = 0; i < ARRAY_SIZE; i++){
			baseData.add(String.valueOf(i));
		}
		
		begTime = System.nanoTime();
		String[] s2 = (String[])baseData.toArray(new String[ARRAY_SIZE]); 
		endTime = System.nanoTime();
		System.out.println("自带方法耗时: " + (endTime - begTime));

		begTime = System.nanoTime();
		String[] s1 = new String[ARRAY_SIZE];
		for(int i = 0; i < ARRAY_SIZE; i++){
			s1[i] = baseData.get(i);
		}
		endTime = System.nanoTime();
		System.out.println("手工遍历耗时: " + (endTime - begTime));
	}
}

 在我电脑上的输出是:

   自带方法耗时: 89000

   手工遍历耗时: 2005000

哪个更好,很显然了。

分享到:
评论

相关推荐

    List转换为List

    List&lt;Map&lt;String, Object&gt;&gt; resultList = new ArrayList&lt;Map&lt;String, Object&gt;&gt;(); for (AnnouncementBean announcementBean : listAnnouncementBean) { Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;(); ...

    intent传递ArrayList&lt;T&gt;

    ArrayList&lt;User&gt; userList = new ArrayList&lt;&gt;(); // 添加用户... Intent intent = new Intent(currentActivity, TargetActivity.class); intent.putParcelableArrayListExtra("key", userList); startActivity...

    List转换成String数组

    List&lt;String&gt; list = new ArrayList&lt;String&gt;(); list.add("a1"); list.add("a2"); // 使用toArray()方法,传入一个大小等于list.size()的String数组 String[] toBeStored = list.toArray(new String[list.size()]);...

    JNI与C++数据类型传递示例(包括ArrayList对象、ArrayList嵌套返回)

    一个C++(Ubuntu16.04+QT5.9.1)通过JNI,调用JAVA类及方法的示例。通过JNI传递和返回多种类型的参数,boolean ,int,String,ArrayList&lt;string&gt;,ArrayList嵌套ArrayList&lt;ArrayList&lt;String&gt;&gt;等。

    将类中的List<String>改为proarrayList<product> proarray ,过程代码

    ArrayList&lt;Product&gt; productList = new ArrayList&lt;&gt;(); for (String id : stringList) { Product product = new Product(id, "defaultName", 0.0); // 假设默认的name和price productList.add(product); } /...

    ResultSet 转为listmap

    List&lt;Map&lt;String,Object&gt;&gt; results = new ArrayList&lt;Map&lt;String,Object&gt;&gt;(); ResultSetMetaData rsmd = rs.getMetaData(); int colCount = rsmd.getColumnCount(); List&lt;String&gt; colNameList = new ArrayList...

    java集合某个字段按照中文拼音排序.docx

    List&lt;String&gt; list = new ArrayList&lt;String&gt;(); list.add("你"); list.add("好"); list.add("啊"); Collections.sort(list, new Comparator&lt;String&gt;() { @Override public int compare(String o1, String o2) { ...

    Java ArrayList教程

    并初始化ArrayList对象,例如:ArrayList&lt;E&gt; objectName = new ArrayList&lt;&gt;();其中E是泛型数据类型,objectName是对象名。 ArrayList提供了很多有用的方法,添加元素到ArrayList可以使用add()方法,例如: ```java ...

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    marshaller.marshal(new JAXBElement&lt;&gt;(new QName("people"), ArrayList.class, list), writer); return writer.toString(); } ``` 接下来,我们讨论如何将XML字符串转换为`Map`和`List`。这里,通常会使用`DOM`...

    Java设计二次元动漫人物演出活动小游戏代码.docx

    private static ArrayList&lt;String&gt; characters = new ArrayList&lt;String&gt;(); private static ArrayList&lt;String&gt; actions = new ArrayList&lt;String&gt;(); private static Random random = new Random(); public ...

    Java编程常用方法

    例如:ArrayList&lt;String&gt; list = new ArrayList&lt;&gt;(); list.add("apple"); list.add("banana"); String fruit = list.get(0); // fruit 的值为 "apple" 2. size():该方法返回 ArrayList 中实际包含的元素个数。 ...

    跟我学Java-day14-ArrayList集合.pdf

    day14-ArrayList集合 1.ArrayList 1.1ArrayList类概述【理解】 ...ArrayList&lt;String&gt; array = new ArrayList&lt;String&gt;(); //添加元素 array.add("hello"); array.add("world"); array.add("java");

    Java-List的使用.docx

    ArrayList&lt;String&gt; B = new ArrayList&lt;&gt;(A); ``` 这种方式创建了一个新的`List``B`,并将`A`的所有元素复制到`B`中,两个列表独立且互不影响。 3. **克隆(Clone)**: ```java ArrayList&lt;String&gt; B = A.clone...

    Java Methods-java.util.ArrayList.ppt

    ArrayList&lt;String&gt; names = new ArrayList&lt;String&gt;(); names.add("Ben"); names.add("Cat"); names.add(0, "Amy"); System.out.println(names); // [Amy, Ben, Cat] ``` 六、ArrayList 类的泛型 从 Java 5 开始,...

    CS1807-U201814745-朱槐志java62

    - `ArrayList&lt;String&gt; lists = new ArrayList&lt;&gt;();` 4. 泛型类和非泛型类(原始类)之间的区别在于类型检查是在编译时还是运行时进行的。在给定的代码段中: - 代码段①是正确的,因为它创建了一个`Holder&lt;String...

    java桑硅谷 day23 晨考.zip

    ArrayList&lt;City&gt; bj = new ArrayList&lt;&gt;(); bj.add(new City(1,"北京市")); ArrayList&lt;City&gt; tj = new ArrayList&lt;&gt;(); tj.add(new City(4,"天津市")); ArrayList&lt;City&gt; hn = new ArrayList&lt;&gt;(); hn.add...

    泛型需要注意的问题Java系列2021.pdf

    在Java中,像`ArrayList&lt;String&gt; arrayList1 = new ArrayList&lt;Object&gt;()`这样的引用传递是不允许的。这是因为,泛型出现的原因就是为了解决类型转换的问题,而这种引用传递违背了泛型设计的初衷。在这种情况下,如果...

    JSP作业(二).doc

    &lt;%@ page import="java.util.ArrayList" %&gt; &lt;%! int m = 0; int Id = 8888; ArrayList&lt;String&gt; goodslist = new ArrayList&lt;String&gt;(); ArrayList&lt;Float&gt; pgoodslist = new ArrayList&lt;Float&gt;(); ArrayList...

    java String Vector简单初学者代码

    Vector&lt;String&gt; stringVector = new Vector&lt;&gt;(); while (scanner.hasNextLine()) { String input = scanner.nextLine(); if (input.isEmpty()) break; stringVector.add(input); } System.out.println("\n...

    java中List、Array、Map、Set等集合相互转换

    Set&lt;String&gt; targetSet = new HashSet&lt;&gt;(sourceMap.values()); ``` 这里,我们首先创建了一个 Map,然后使用 map.values() 方法将 Map 转换为 Set。 Java 中的集合类型转换非常灵活,掌握这些方法可以帮助我们更好...

Global site tag (gtag.js) - Google Analytics