您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)java中迭代器和for循環(huán)的優(yōu)劣勢(shì)有哪些的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
1.SpringMVC,Spring Web MVC是一種基于Java的實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的請(qǐng)求驅(qū)動(dòng)類型的輕量級(jí)Web框架。2.Shiro,Apache Shiro是Java的一個(gè)安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢,存儲(chǔ)過程和高級(jí)映射的優(yōu)秀持久層框架。4.Dubbo,Dubbo是一個(gè)分布式服務(wù)框架。5.Maven,Maven是個(gè)項(xiàng)目管理和構(gòu)建自動(dòng)化工具。6.RabbitMQ,RabbitMQ是用Erlang實(shí)現(xiàn)的一個(gè)高并發(fā)高可靠AMQP消息隊(duì)列服務(wù)器。7.Ehcache,EhCache 是一個(gè)純Java的進(jìn)程內(nèi)緩存框架。
1.概念理解
for循環(huán):是支持迭代的一種通用結(jié)構(gòu),是最有效,最靈活的循環(huán)結(jié)構(gòu)
迭代器:是通過集合的iterator()方法得到的,所以我們說它是依賴于集合而存在的
Foreach:通過閱讀源碼我們還發(fā)現(xiàn)一個(gè)Iterable接口。它包含了一個(gè)產(chǎn)生Iterator對(duì)象的iterator()方法,而且將Iterator對(duì)象被foreach用來在序列中移動(dòng)。對(duì)于任何實(shí)現(xiàn)Iterable接口的對(duì)象都可以使用。
2.效率實(shí)例
ArrayList中的效率對(duì)比:
List<Integer> integers = Lists.newArrayList(); for(int i=0;i<100000;i++){ integers.add(i); } long start1 = System.currentTimeMillis(); for(int count =0 ;count<10;count++){ for(int i=0;i<integers.size();i++){ int j=integers.get(i); } } System.out.println(String.format("for循環(huán)100次時(shí)間:%s ms",System.currentTimeMillis()-start1)); long start2 = System.currentTimeMillis(); for(int count =0 ;count<10;count++) { for (Integer i : integers) { int j = i; } } System.out.println(String.format("foreach循環(huán)100次時(shí)間:%s ms",System.currentTimeMillis()-start2)); long start3 = System.currentTimeMillis(); for(int count =0 ;count<10;count++) { Iterator<Integer> iterator = integers.iterator(); while(iterator.hasNext()){ int j=iterator.next(); } } System.out.println(String.format("迭代器循環(huán)100次時(shí)間:%s ms",System.currentTimeMillis()-start3));
結(jié)果:
for循環(huán)100次時(shí)間:15 ms foreach循環(huán)100次時(shí)間:25 ms 迭代器循環(huán)100次時(shí)間:20 ms
ArrayList下三者效率差不多,for循環(huán)最優(yōu),因?yàn)锳rrayList通過數(shù)組來實(shí)現(xiàn),數(shù)組通過索引來定位的時(shí)間復(fù)雜度是O(1),1次就能定位到,所以效率非常高。
總結(jié):for循環(huán)便于訪問順序存儲(chǔ)的記錄,而foreach和迭代器便于訪問鏈接存儲(chǔ)。
感謝各位的閱讀!關(guān)于“java中迭代器和for循環(huán)的優(yōu)劣勢(shì)有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。