「java遍历各级」java遍历类的属性
本篇文章给大家谈谈java遍历各级,以及java遍历类的属性对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java层次遍历算法思路?
找个例子看一下就有了。比如递归前序遍历二叉树,即先根遍历。先遍历根节点,之后向下又是一个跟节点,在遍历做节点,在遍历右节点,依次下去,知道没有右节点结束。在遍历右边的部分,根节点,左节点,右节点,知道没有右节点是为止。至此遍历结束。书上有图一看就知道了。其他的遍历按照遍历算法一样。建议看下数据结构的遍历,讲的很详细。
java中map的常用遍历方法有哪些?
ava中map的常用遍历的具体方法有:
一 、在for-each循环中使用entries来遍历。这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。
二、 在for-each循环中遍历keys或values。如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。
三、使用Iterator遍历。
四、通过键找值遍历(效率低)。
总结:如果仅需要键(keys)或值(values)使用方法二。如果你使用的语言版本低于java 5,或是打算在遍历时删除entries,必须使用方法三。否则使用方法一(键值都要)。
Java数组遍历
因为是随机生成的数组,所以可能数组中没有小于10的数字,这时处理后的数组和之前一样看不到效果。多试几次就好了。
import java.util.Random;
public class Demo {
public static void main(String[] args) {
Random random = new Random();
int[] arr = new int[5];
for (int i = 0; i arr.length; i++) {
arr[i] = random.nextInt(46) + 5;
}
System.out.print("随机生成的数组:");
printArr(arr);
arr = getNewArr(arr);
System.out.print("处理之后的数组:");
printArr(arr);
}
private static int[] getNewArr(int[] arr) {
for (int i = 0; i arr.length; i++) {
if (arr[i] 10) {
arr[i] = 0;
}
}
return arr;
}
private static void printArr(int[] arr) {
for (int i : arr) {
System.out.print(i + " ");
}
System.out.println();
}
}
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 Map 怎么遍历
关于java中遍历map具体有四种方式,请看下文详解。
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遍历各级和java遍历类的属性的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。