189 8069 5689

JAVA程序遍历代码,编程遍历是什么意思

java Map 怎么遍历

关于java中遍历map具体有四种方式,请看下文详解。

成都创新互联长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为坪山企业提供专业的成都网站制作、成都做网站、外贸营销网站建设坪山网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

1、这是最常见的并且在大多数情况下也是最可取的遍历方式,在键值都需要时使用。

MapInteger, Integer map = new HashMapInteger, Integer();

for (Map.EntryInteger, Integer entry : map.entrySet()) {

System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());

}

2、在for-each循环中遍历keys或values。

如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。

MapInteger, Integer map = new HashMapInteger, Integer();

for (Integer key : map.keySet()) {

System.out.println("Key = " + key);

}

for (Integer value : map.values()) {

System.out.println("Value = " + value);

}

该方法比entrySet遍历在性能上稍好(快了10%),而且代码更加干净。

3、使用Iterator遍历

使用泛型:

MapInteger, Integer map = new HashMapInteger, Integer();

IteratorMap.EntryInteger, Integer entries = map.entrySet().iterator();

while (entries.hasNext()) {

Map.EntryInteger, Integer entry = entries.next();

System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());

}

不使用泛型:

Map map = new HashMap();

Iterator entries = map.entrySet().iterator();

while (entries.hasNext()) {

Map.Entry entry = (Map.Entry) entries.next();

Integer key = (Integer)entry.getKey();

Integer value = (Integer)entry.getValue();

System.out.println("Key = " + key + ", Value = " + value);

}

4、通过键找值遍历(效率低)

MapInteger, Integer map = new HashMapInteger, Integer();

for (Integer key : map.keySet()) {

Integer value = map.get(key);

System.out.println("Key = " + key + ", Value = " + value);

}

假设Map中的键值对为1=11,2=22,3=33,现用方法1来遍历Map代码和调试结果如下:

扩展资料:

1、HashMap的重要参数

HashMap 的实例有两个参数影响其性能:初始容量 和加载因子。容量是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。

加载因子 是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash 操作(即重建内部数据结构),从而哈希表将具有大约两倍的桶数。

在Java编程语言中,加载因子默认值为0.75,默认哈希表元为101。

2、HashMap的同步机制

注意,此实现不是同步的。 如果多个线程同时访问一个哈希映射,而其中至少一个线程从结构上修改了该映射,则它必须保持外部同步。

(结构上的修改是指添加或删除一个或多个映射关系的任何操作;以防止对映射进行意外的非同步访问,如下:

Map m = Collections.synchronizedMap(new HashMap(...));

参考资料:百度百科-Hashmap

Java 如何遍历数组里面的数据?

二维数组定义:数据类型[][] 数组名 = new 数据类型[二维数组行数][二维数组列数]

如:int[] array = new int[5][4];

二维数组的遍历:需要使用两个变量来分别遍历行和列,具体遍历方法就很多啦,可以使用while语句、do-while语句、for语句,也可以相互结合使用。

如:

int i = 0, j = 0;

for(int i = 0; i  array.length; i++){

for(int j = 0; j  array[i].length; j++){

System.out.println(array[i][j] + "、");

}

System.out.println("");

}

用java怎样实现遍历一个字符串的每一个字母

Java遍历一个字符串的每一个字母

String str = "asdfghjkl";

方法1:

for(int i=0;istr.length();i++){

char ch = string.charAt(i);

}

方法2:

char[] c=s.toCharArray();

for(char cc:c){

...//cc直接用了

}

方法3:

for(int i=0;istr.length();i++){

String subStr = str.substring(i, i+1)

}

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。

参考资料:百度百科:JAVA

求java多线程遍历目录的完整代码,能运行的那种

目录结构为树型结构,用多线程不大好做,线程最多在前几层进行分割,比如每个目录下有两个目录,共5层,那么root目录下就能启用2个线程分别进行遍历,所以第二层就启动了2个线程进行遍历,加上主线程共三个线程,虽然这样做是可以做,但是要更具实际情况进行线程的规划,否则容易线程过多导致cpu超负荷,或者假死,再提一点,遍历目录不建议用递归来写,因为目录较多容易栈溢出。

随手写了个,会有点bug就是关闭线程池的时候,还有就是有可能目录太多进入拒绝策略,这个东西 可以考虑使用令牌桶算法,或者计数器算法来做。这里提供个简单的例子。

public class TraverseUtil {

public static BlockingQueue blockingQueue = new LinkedBlockingQueue(100);

public static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(100,100,10, TimeUnit.SECONDS,blockingQueue);

public static void traverseFolder2(String path) {

File file = new File(path);

if (file.exists()) {

File[] files = file.listFiles();

if (null == files || files.length == 0) {

System.out.println("文件夹是空的!");

return;

} else {

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

threadPoolExecutor.execute(new Runnable() {

@Override

public void run() {

traverseFolder2(file2.getAbsolutePath());

}

});

} else {

System.out.println("文件:" + file2.getAbsolutePath());

}

}

}

} else {

System.out.println("文件不存在!");

}

}

public static void main(String[] args) throws InterruptedException {

traverseFolder2("C:\\Users\\a8932\\Desktop\\md");

}

}

求Java高手帮忙梳理一下这段Java代码吗不太能看的懂,最好能详细解释一下

这是一个表查找,查找表中与customer相等的数据。这个表有[customer,name,phone,....]等字段

怎么用Java编写简单的程序,遍历c盘里所有的文件

这个可以使用递归来实现,具体代码如下:

import java.io.File;

public class Demo {

public static void main(String[] args) {

File file = new File("C:\\");// 指定

文件目录

method(file);

}

public static void method(File file) {

File[] fs = file.listFiles();// 得到File数组

if(fs!=null) {// 判断fs是否为null

for(File f : fs) {

if(f.isFile()) {// 如果是文件直接输出

System.out.println(f.getName());

} else {

method(f);// 否则

递归调用

}

}

}

}

}


文章名称:JAVA程序遍历代码,编程遍历是什么意思
标题来源:http://cdxtjz.cn/article/hcpipg.html

其他资讯