How to use the foreach statement in Java to get the object index subscript
This article mainly introduces how to use the foreach statement in Java to obtain the index subscript of the object, which has a certain reference value, and interested friends can refer to it. I hope you can learn a lot after reading this article.
Preface
In Java8, we often use lambada expressions for foreach loops, but often we want to get the index of objects when we traverse List, but Java8, 9, 10, 11 do not have related support. The same problem also exists in enhanced for loops, which often have to weep with for (int I = 0; I)
< list.size(); i++) 的方式写代码 我们的期望 list.foreach((item,index)->{}) / / compilation failed
Common methods of obtaining index by list
For (int iTuno Sidney I)
For (int I = 0; I
< list.size(); i++) { } indexOf(Obj) for (Object o : list) { list.indexOf(o); //如果是Set还没有这个方法} 还有… int i = 0;for (String s : list) { i++;} 很显然上述的方法并不是我们所想要的 Consumer和BiConsumer 我们看个简单的例子 Consumer consumer = t ->System.out.println (t); consumer.accept ("single"); BiConsumer biConsumer = (k, v)-> System.out.println (k + ":" + v); biConsumer.accept ("multipart", "double params")
Output result:
Single
Multipart:double params
It is not difficult to find that the arrow function we usually write is actually a Consumer or BiConsumer object.
Custom Consumer
Foreach source code
Default void forEach (Consumer