ArrayList<Integer> myList = new ArrayList<>();myList.add(1);myList.add(2);myList.add(3);Iterator<Integer> myIter = myList.iterator();while (myIter.hasNext()) { System.out.println(myIter.next());}
时间: 2023-08-14 08:03:27 浏览: 47
这段代码创建了一个ArrayList对象myList,向其中添加了3个整数元素(1、2、3)。然后通过调用myList的iterator()方法获得迭代器对象myIter。接下来使用while循环遍历myList中的元素,每次循环都调用myIter的hasNext()方法判断是否还有下一个元素,如果有,则调用myIter的next()方法返回当前元素并移动到下一个元素。在每次循环中,使用System.out.println()方法打印当前元素的值。当遍历完成后,退出循环。因此,这段代码的输出结果为:
```
1
2
3
```
即依次输出myList中的3个元素。
相关问题
ArrayList<Integer>
An ArrayList is a class in Java that provides a dynamic array implementation. It is part of the Java Collections Framework and is used to store a collection of objects. The ArrayList class is a generic class that can be used to store objects of any type.
The ArrayList<Integer> denotes an ArrayList that can only store objects of the Integer type. This is achieved through the use of Java generics, which allows the type of objects stored in a collection to be specified at compile time.
Here's an example of how to create an ArrayList<Integer>:
```
ArrayList<Integer> myList = new ArrayList<Integer>();
```
This creates a new ArrayList that can store objects of the Integer type. The ArrayList is initially empty, and elements can be added using the `add()` method:
```
myList.add(1);
myList.add(2);
myList.add(3);
```
This adds the integers 1, 2, and 3 to the ArrayList. The `size()` method can be used to get the number of elements in the ArrayList:
```
int size = myList.size(); // size is now 3
```
Elements can be retrieved from the ArrayList using the `get()` method:
```
int element = myList.get(0); // element is now 1
```
This retrieves the first element in the ArrayList (at index 0) and stores it in the `element` variable.
public List<Picking> getBeginInfo(String beginNo) { List<Picking> list = new ArrayList<Picking>(); String[] arr = pickingMapper.selectMachineNoList(beginNo); partList = new ArrayList<Long>(); for (String item : arr) { List<Long> aa = pickingMapper.selectPartNo(item); for (Long index : aa) { partList.add(index); getPartList(index); List<Long> myList = partList.stream().distinct().collect(Collectors.toList()); myList.remove(index); for (Long ii : myList) { String partNo = pickingMapper.selectPartNoS(ii); String partDesc = pickingMapper.selectPartDesc(ii); Long sum = pickingMapper.selectSumNumber(ii, SecurityUtils.getLocalDeptId()); Long use = 0L; if (pickingMapper.selectUsedNumber(beginNo, ii) != null) { use = pickingMapper.selectUsedNumber(beginNo, ii); } Picking pp = new Picking(); pp.setBeginNo(beginNo); pp.setCustodyNo(item); pp.setPartNo(partNo); pp.setPartDesc(partDesc); pp.setInventoryNumber(sum); pp.setClaimed(use); pp.setRequirementsNumber(pickingMapper.selectRequireNumber(index, ii)); list.add(pp); } partList.clear(); myList.clear(); } } return list; } 如何优化可以让这个方法简洁
这段代码看起来比较冗长,可以考虑简化和优化:
1. 可以将 `List<Long> myList` 和 `List<Long> partList` 声明为局部变量,避免在方法中多处使用,并且应该在使用后及时清空。
2. 可以使用 Java 8 的 Stream API 简化代码,如下所示:
```
public List<Picking> getBeginInfo(String beginNo) {
List<Picking> list = new ArrayList<>();
String[] machineNoList = pickingMapper.selectMachineNoList(beginNo);
for (String machineNo : machineNoList) {
List<Long> partNoList = pickingMapper.selectPartNo(machineNo);
for (Long partNo : partNoList) {
List<Long> relatedPartNoList = pickingMapper.selectRelatedPartNo(partNo);
relatedPartNoList.remove(partNo);
relatedPartNoList.stream().distinct().forEach(relatedPartNo -> {
String partNoS = pickingMapper.selectPartNoS(relatedPartNo);
String partDesc = pickingMapper.selectPartDesc(relatedPartNo);
Long inventoryNumber = pickingMapper.selectInventoryNumber(relatedPartNo, SecurityUtils.getLocalDeptId());
Long claimed = pickingMapper.selectClaimedNumber(beginNo, relatedPartNo);
Long requirementsNumber = pickingMapper.selectRequirementsNumber(partNo, relatedPartNo);
Picking picking = new Picking();
picking.setBeginNo(beginNo);
picking.setCustodyNo(machineNo);
picking.setPartNo(partNoS);
picking.setPartDesc(partDesc);
picking.setInventoryNumber(inventoryNumber);
picking.setClaimed(claimed);
picking.setRequirementsNumber(requirementsNumber);
list.add(picking);
});
}
}
return list;
}
```
这样可以避免使用多个循环和临时变量,让代码更加简洁和易读。同时,使用 Stream API 可以提高程序运行效率。