导航:首页 > 编程语言 > 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相关的资料

热点内容
管家婆辉煌2加密狗挪到另一台电脑 浏览:760
摩托车在哪里app看考题 浏览:356
苹果5app在哪里设置 浏览:737
如何查看服务器的磁盘使用 浏览:165
python蒙特卡洛模型投点图 浏览:330
安卓手机属于什么接口 浏览:742
微信群推广网站源码 浏览:764
九江离鹰潭源码 浏览:719
python可以当作函数的返回值 浏览:422
地铁逃生体验服怎么进入安卓 浏览:833
齐鲁工惠app的中奖记录在哪里 浏览:759
linuxkill命令详解 浏览:103
dhcp服务器动态分配地址 浏览:265
门禁卡加密了能破解吗 浏览:215
在哪里下载百度网盘app 浏览:917
服务器要升级什么意思 浏览:831
银行还房贷解压方法 浏览:702
服务器主机办公如何提速 浏览:920
cad打印为pdf 浏览:418
卖手表的app哪里可以卖 浏览:55