/***
方法一:最普通的不加思考的写法
* <p>*优点:较常见,易于理解
* <p>* 缺点:每次都要计算list.size()*/
for (int i = 0i <list.size()i++) {
System.out.println(list.get(i))
}
/***
方法二:数组长度提取出来
* <p>* 优点:不必每次都计算
* <p>* 缺点:
1、m的作用域不够小,违反了最小作用域原则
2、不能在for循环中操作list的大小,比如除去或新加一个元素*/
int m = list.size()
for (int i = 0i <mi++) {
System.out.println(list.get(i))
}
/***
方法三:数组长度提取出来
* <p>* 优点:
1、不必每次都计算
2、所有变量的作用域都遵循了最小范围原则
* <p>* 缺点:
1、m的作用域不够小,违反了最小作用域原则
2、不能在for循环中操作list的大小,比如除去或新加一个元素*/
for (int i = 0, n = list.size()i <ni++) {
System.out.println(list.get(i))
}
/***
方法四:采用倒序的写法
* <p>* 优点:
1、不必每次都计算
2、所有变量的作用域都遵循了最小范围原则
* <p>* 缺点:
1、结果的顺序会反
2、看起来不习惯,不易读懂
* <p>* 适用场合:与显示结果顺序无关的地方:比如保存之前数据的校验*/
for (int i = list.size() - 1i >= 0i--) {
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)
}
1、逆序数组有很多种方法,比如先排序,再逆序存
public static void main(String[] args) {
int[] nums = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}
System.out.print("原数组:")
for (int num : nums) {
System.out.print(num+" ")
}
System.out.print("\n倒序新数组:")
for (int num : reverseArray1(nums)) {
System.out.print(num + " ")
}
}
//1.排序后倒序
public static int[] reverseArray1(int[] nums) {
Arrays.sort(nums)
int[] reNums = new int[nums.length]
for (int i = 0i <nums.lengthi++) {
reNums[i] = nums[nums.length - 1 - i]
}
return reNums
}
//2.Collection 内置的逆序
public static int[] reverseArray2(int[] nums) {
ArrayList<Integer>list = new ArrayList<>()
for (int i = 0i <nums.lengthi++) {
list.add(nums[i])
}
Collections.reverse(list)
int [] reNums = new int[nums.length]
for (int i = 0i <nums.length i++) {
reNums[i] = list.get(i)
}
return reNums
}
将字符串倒叙输出有多种方式,下面我罗列两种以作参考:方法一:利用String类的toCharArray(),再倒序输出数组。
public class javatest {
public static void main(String[] args) {
String originalString = "abcdefg"
String resultString = ""
char[] charArray = originalString.toCharArray()
for (int i = charArray.length-1i>=0i--){
resultString +=charArray[i]
}
System.out.println(resultString)
}
}
方法二:使用reverse()方法
public class reverseTest {
public static void main(String[] args) {
String originalString = "abcdefg"
StringBuffer stringBuffer = new StringBuffer(originalString)
System.out.println(stringBuffer.reverse())
}
}