導航:首頁 > 編程語言 > javaforstl

javaforstl

發布時間:2022-05-12 11:15:28

❶ 求java的for的用法

這種寫法成為for each,是jdk1.5出現的新特性,for循環的改進版,意思就是對IntWritable類型的數組或集合values進行遍歷
for(IntWritable val : values) {
System.out.println(val);
}
功能等同於
for(int i = 0; i<values.length; i++) {
System.out.println(values[i]);
/*對values[i]進行處理*/
}

❷ java中for循環有兩種形式 一種是for(int i=0;i<6;i++) 另一種怎麼表示的求具體解釋

另一種是foreach循環 List<String> list=new ArrayList<String>();
for(String str : list){
意思是把list里的每一個元素賦值給String變數str;
}
在eclipse裡面打fore按Alt+/補全快捷鍵就可以快捷打出循環. 注意list前面有個冒號,
網路顯示不大清楚.

❸ 學java有必要學STL嗎

Java 中所有的STL均繼承自Collection類。所以Collection類的方法所有的子類均可使用:

ACM中常用的方法有

boolean add(Object obj)
boolean remove(Oblect obj)
boolean contains(Object obj)
void clear()
boolean isEmpty()
Iterator iterator()
int size()

另外Collections類中包含sort方法可以對Vector容器進行排序,但是Vector中的元素必須實現Comparable介面或自定義Comparator,詳見Vector。

請注意Collections和Collection不一樣,前者是介面後者是類。

Set

java 中的Set是一個抽象的類,因此我們不可以用Set直接定義實例,必須通過子類來定義實例。常見的子類有 HashSet , TreeSet等。
另外java中的所有容器的元素都只能是類的實例而不可以是基本數據類型。所以我們不能定義裝有int的Set而是要把int改為Integer類。

HashSet
HashSet 中的元素需要實現hashCode()方法,以實現元素的比較
class P
{
int x, y;
int hashCode()
{
return x*100000 + y;
}
}
Set<P>st = new HashSet<P>();

遍歷Set中的元素

1 迭代器
Iterator<P> it = st.iterator();
while(it.hasNext())P e=it.next();
2 枚舉
for(P e : st)System.out.println(e.x+" "+e.y);

TreeSet
TreeSet 與HashSet不同的地方在於TreeSet中的元素要實現Comparable介面
值得注意的是 TreeSet與C++中的set很相似,遍歷是會自動按照comparable定義的順序進行
class P implements Comparable<P>
{
int x,y;
int compareTo(P e)
{
return x<e.x?-1:1;
}
}

C++中set有upper_bound(),lower_bound()方法和multiset,遺憾的是Java中 我暫時還沒有看到

Map

Map 同Set一樣包含HashMap和TreeMap 且如果遍歷TreeMap會自動按照comparable規定的順序進行
boolean containsKey(Object key)
boolean containsValue(Object value)
value get(Object key)
value put(Object key,Object value)
Map的一般用法

1.聲明一個Map:

Map map = new HashMap();

2.向map中放值,注意: map是key-value的形式存放的,如:

map.put("sa","dd");

3.從map中取值:

String str = map.get("sa").toString,

結果是: str = "dd'

4.遍歷一個map,從中取得key和value:

Map m= new HashMap();

for(Object obj : map.keySet()){

Object value = map.get(obj );

}
網上找的程序遍歷map

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class HashMapTest {

private static Map<Integer, String> map=new HashMap<Integer,String>();

❹ java中for循環的幾種寫法

以下為for循環的幾種寫法:
/***
方法一:最普通的不加思考的寫法
* <p>*優點:較常見,易於理解
* <p>* 缺點:每次都要計算list.size()*/
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
/***
方法二:數組長度提取出來
* <p>* 優點:不必每次都計算
* <p>* 缺點:
1、m的作用域不夠小,違反了最小作用域原則
2、不能在for循環中操作list的大小,比如除去或新加一個元素*/
int m = list.size();
for (int i = 0; i < m; i++) {
System.out.println(list.get(i));
}
/***
方法三:數組長度提取出來
* <p>* 優點:
1、不必每次都計算
2、所有變數的作用域都遵循了最小范圍原則
* <p>* 缺點:
1、m的作用域不夠小,違反了最小作用域原則
2、不能在for循環中操作list的大小,比如除去或新加一個元素*/
for (int i = 0, n = list.size(); i < n; i++) {
System.out.println(list.get(i));
}
/***
方法四:採用倒序的寫法
* <p>* 優點:
1、不必每次都計算
2、所有變數的作用域都遵循了最小范圍原則
* <p>* 缺點:
1、結果的順序會反
2、看起來不習慣,不易讀懂
* <p>* 適用場合:與顯示結果順序無關的地方:比如保存之前數據的校驗*/
for (int i = list.size() - 1; i >= 0; i--) {
System.out.println(list.get(i));
}
/***
方法五:Iterator遍歷
* <p>* 優點:簡潔
* <p>* 缺點:*/
for (Iterator<String> it = list.iterator(); it.hasNext();) {
System.out.println(it.next());
}
/*** 方法六:
jdk1.5新寫法
* <p>* 優點:簡潔結合泛型使用更簡潔*
<p>* 缺點:jdk1.4向下不兼容*/
for (Object o : list) {
System.out.println(o);
}

❺ JAVA使用for循環如何列印梯形

//在網頁中實現
for(int i=5;i<12;i=i+2)
{
for(int j=0;j<i;j++)
{
Response.Write("*");
}
Response.Write("<br/>")
}

❻ java中什麼叫迭代,什麼叫迭代器

迭代:

是重復反饋過程的活動,其目的通常是為了逼近所需目標或結果。每一次對過程的重復稱為一次「迭代」,而每一次迭代得到的結果會作為下一次迭代的初始值。

重復執行一系列運算步驟,從前面的量依次求出後面的量的過程。此過程的每一次結果,都是由對前一次所得結果施行相同的運算步驟得到的。例如利用迭代法*求某一數學問題的解。

對計算機特定程序中需要反復執行的子程序*(一組指令),進行一次重復,即重復執行程序中的循環,直到滿足某條件為止,亦稱為迭代。

迭代器(Iterator)模式:

又叫做游標模式,它的含義是,提供一種方法訪問一個容器對象中各個元素,而又不需暴露該對象的內部細節。

注意:Java的集合框架的集合類,有的時候也稱為容器。

從定義上看,迭代器是為容器而生,它本質上就是一種遍歷的演算法。因為容器的實現千差萬別,很多時候不可能知道如何去遍歷一個集合對象的元素。Java為我們提供了使用迭代的介面,Java的所有集合類丟失進行迭代的。

簡單的說,迭代器就是一個介面Iterator,實現了該介面的類就叫做可迭代類,這些類多數時候指的就是java.util包下的集合類。

總結:

迭代器,提供一種訪問一個集合對象各個元素的途徑,同時又不需要暴露該對象的內部細節。java通過提供Iterator和Iterable倆個介面來實現集合類的可迭代性,迭代器主要的用法是:首先用hasNext()作為循環條件,再用next()方法得到每一個元素,最後在進行相關的操作。

(6)javaforstl擴展閱讀

首先,創建了一個List的集合對象,並放入了倆個字元串對象,然後通過iterator()方法得到迭代器。iterator()方法是由Iterable介面規定的,ArrayList對該方法提供了具體的實現,在迭代器Iteartor介面中,有以下3個方法:

1、hasNext()該方法英語判斷集合對象是否還有下一個元素,如果已經是最後一個元素則返回false

2、next()把迭代器的指向移到下一個位置,同時,該方法返回下一個元素的引用

3、remove() 從迭代器指向的Collection中移除迭代器返回的最後一個元素,該操作使用的比較少。

注意:從Java5.0開始,迭代器可以被foreach循環所替代,但是foreach循環的本質也是使用Iterator進行遍歷的。

❼ java裡面的for循環的格式: for(String s : arr)是什麼意思,能否詳細解釋一下

for的循環語句for(String s : args)這個格式是foreach的形式,表示取出數組args[]中的每一個元素,就是循環一次就依次取出一個元素賦值給s,知道取完為止java中的foreach也是用for表示具體語法分兩種:

第一種-數組for(type var : arr) {//循環體}示例(這里以List為例):List<String> list = new ArrayList<String>();for(String item : list){System.out.println("循環元素:" + item);}

第二種-非數組類可迭代對象for(type var : coll) {//循環體}示例:Map<String, String> map = new HashMap<String, String>();for(Entry<String, String> item : map.entrySet()){System.out.println("循環元素 key:" + item.getKey() + " value:" + item.getValue());}

其實本質上和for(int i=0;i<length;i++)沒太大區別,但是for(String s : arr)中的arr一定是字元串數組,每次循環取一個字元串出來賦值給s,直到arr數組長度-1結束。

(7)javaforstl擴展閱讀:

Java for循環的幾種用法:

在Java程序中,要「逐一處理」或者說,「遍歷」某一個數組或Collection中的元素的時候,一般會使用一個for循環來實現(當然,用其它種類的循環也不是不可以,只是不知道是因為for這個詞的長度比較短,還是因為for這個詞的含義和這種操作比較配,在這種時候for循環比其它循環常用得多)。

對於遍歷數組,這個循環一般是採取這樣的寫法:

清單1:遍歷數組的傳統方式

復制代碼 代碼如下:

/* 建立一個數組 */

int[] integers = {1, 2, 3, 4};

/* 開始遍歷 */

for (int j = 0; j < integers.length; j++) {

int i = integers[j];

System.out.println(i);

}

而對於遍歷Collection對象,這個循環則通常是採用這樣的形式:

清單2:遍歷Collection對象的傳統方式

復制代碼 代碼如下:

/* 建立一個Collection */

String[] strings = {"A", "B", "C", "D"};

Collection stringList = java.util.Arrays.asList(strings);

/* 開始遍歷 */

for (Iterator itr = stringList.iterator(); itr.hasNext();) {

Object str = itr.next();

System.out.println(str);

}

而在Java語言的最新版本――J2SE
1.5中,引入了另一種形式的for循環。藉助這種形式的for循環,現在可以用一種更簡單地方式來進行遍歷的工作。

1、 第二種for循環

不嚴格的說,Java的第二種for循環基本是這樣的格式:

for (循環變數類型 循環變數名稱 : 要被遍歷的對象) 循環體

藉助這種語法,遍歷一個數組的操作就可以採取這樣的寫法:

清單3:遍歷數組的簡單方式

復制代碼 代碼如下:

/* 建立一個數組 */

int[] integers = {1, 2, 3, 4};

/* 開始遍歷 */

for (int i : integers) {

System.out.println(i); /* 依次輸出「1」、「2」、「3」、「4」 */

}

這里所用的for循環,會在編譯期間被看成是這樣的形式:

清單4:遍歷數組的簡單方式的等價代碼

復制代碼 代碼如下:

/* 建立一個數組 */

int[] integers = {1, 2, 3, 4};

/* 開始遍歷 */

for (int 變數名甲 = 0; 變數名甲 < integers.length; 變數名甲++) {

System.out.println(integers[變數名甲]); /* 依次輸出「1」、「2」、「3」、「4」 */

}

這里的「變數名甲」是一個由編譯器自動生成的不會造成混亂的名字。

❽ 用Java里的for循環編譯出來

String[] strs=new String[]{"A","B","C","D","E","F","G"};
for(int i=0;i<strs.length;i++){
for(int j=strs.length-1;j>i;j--){
System.out.print(" ");
}
for(int k=0;k<i*2+1;k++){
System.out.print(strs[i]+" ");
}
System.out.println();
}
這段代碼直接放在main方法裡面運行就能輸出你要的效果了

❾ Java for循環的幾種用法詳解

1:遍歷數組的傳統方式
2:遍歷Collection對象的傳統方式
3:遍歷數組的簡單方式
4:遍歷數組的簡單方式的等價代碼

閱讀全文

與javaforstl相關的資料

熱點內容
手機號碼如何加密 瀏覽:424
沈陽程序員培訓學校 瀏覽:538
一般伺服器如何配置 瀏覽:895
圖片怎樣加密發郵件 瀏覽:619
萬虹電腦文件夾密碼忘記了怎麼辦 瀏覽:631
rc108單片機 瀏覽:867
戰雷如何改變伺服器 瀏覽:674
mactelnet命令 瀏覽:51
壓縮袋壓縮了拿出來 瀏覽:401
安卓手機相機怎麼設置許可權 瀏覽:121
美女程序員轉行做主播 瀏覽:671
辦理解壓房產 瀏覽:575
道路工程概論pdf 瀏覽:388
超棒數學速演算法大全 瀏覽:937
小米易語言登錄源碼 瀏覽:31
磚牆內加密鋼筋 瀏覽:992
鄉關何處pdf 瀏覽:84
小豬領贊小程序源碼 瀏覽:336
python曲線如何原路返回 瀏覽:431
pdf快速看圖破解版 瀏覽:294