基础逻辑
[Q&A] 下标为5可以获取到什么信息?
1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9
·
1 ・下标为5
2 ・当前为第6 号元素
3 ・前面有5 个元素
4 ・后面有4 个元素(10 - 6 )
5 ・倒数第5
[Q&A] 下标4到下标7有几个元素?
1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9
0 - 1 - 2 - 3 - 4
0 - 1 - 2 - 3 - 4 - 5 - 6 - 7
1 ・下标为7 比下标为4 多3 ( 7 - 4 ) 个元素
2 ・下标为4 到下标为7 有4 ( 7 - 4 + 1 ) 个元素
3 ・subString ( 3 , 7 ) . length ( ) 长度为7 - 3
[Q&A] 数组折叠对应下标相加为 length-1
( i
和 arr.length-1-i
是前后遥相呼应的两个位置)
# 数组折叠 对应下标相加为 length-1
# i 和 arr.length-1-i 是前后遥相呼应的两个位置
a b c b a a b c c b a
0 1 2 3 4 0 1 2 3 4 5
0 + 4 = 4 0 + 5 = 5
1 + 3 = 4 1 + 4 = 5
2 + 2 = 4 2 + 3 = 5
[Q&A] 区间[0,arr.length/2)
为数组左一半
区间[ 0 , arr. length/ 2 ) 为数组左一半
abcba ☞ 长度为奇数时 arr. length ( ) / 2 ☞ 5 / 2 = 2 ☞ [ 0 1 ] ② 3 4
abccba ☞ 长度为偶数时 arr. length ( ) / 2 ☞ 6 / 2 = 3 ☞ [ 0 1 2 ] ③ 4 5
使用场景 NC17 最长回文子串 Java 业务原子级常用方法 ☞ 判断子串是不是回文子串
数组遍历
【一维数据】遍历 X2
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
# 正序
for ( int i = 0 ; i < arr. length; i++ ) {
System. out . print ( arr[ i] + " " ) ;
}
1 2 3 4 5 6 7 8 9
# 逆序
for ( int i = arr. length - 1 ; i >= 0 ; i-- ) {
System. out . print ( arr[ i] + " " ) ;
}
9 8 7 6 5 4 3 2 1
【数组遍历】这个行为被重复执行 X4
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
for ( int i = 0 ; i < arr. length; i++ ) {
for ( int j = 0 ; j < arr. length; j++ ) {
System . out. print ( arr[ j] + " " ) ;
}
System . out. print ( "←分水岭→ " ) ;
for ( int k = arr. length - 1 ; k >= 0 ; k-- ) {
System . out. print ( arr[ k] + " " ) ;
}
System . out. println ( ) ;
}
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
【数组元素】被重复执行 X4
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
for ( int i = 0 ; i < arr. length; i++ ) {
for ( int j = 0 ; j < arr. length; j++ ) {
System . out. print ( arr[ i] + " " ) ;
}
System . out. print ( "←分水岭→ " ) ;
for ( int k = arr. length - 1 ; k >= 0 ; k-- ) {
System . out. print ( arr[ i] + " " ) ;
}
System . out. println ( ) ;
}
1 1 1 1 1 1 1 1 1 ←分水岭→ 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 ←分水岭→ 2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3 ←分水岭→ 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 ←分水岭→ 4 4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5 5 ←分水岭→ 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 ←分水岭→ 6 6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7 7 ←分水岭→ 7 7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8 8 ←分水岭→ 8 8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9 ←分水岭→ 9 9 9 9 9 9 9 9 9
9 9 9 9 9 9 9 9 9 ←分水岭→ 9 9 9 9 9 9 9 9 9
8 8 8 8 8 8 8 8 8 ←分水岭→ 8 8 8 8 8 8 8 8 8
7 7 7 7 7 7 7 7 7 ←分水岭→ 7 7 7 7 7 7 7 7 7
6 6 6 6 6 6 6 6 6 ←分水岭→ 6 6 6 6 6 6 6 6 6
5 5 5 5 5 5 5 5 5 ←分水岭→ 5 5 5 5 5 5 5 5 5
4 4 4 4 4 4 4 4 4 ←分水岭→ 4 4 4 4 4 4 4 4 4
3 3 3 3 3 3 3 3 3 ←分水岭→ 3 3 3 3 3 3 3 3 3
2 2 2 2 2 2 2 2 2 ←分水岭→ 2 2 2 2 2 2 2 2 2
1 1 1 1 1 1 1 1 1 ←分水岭→ 1 1 1 1 1 1 1 1 1
【外左内左回放的思想】X8 ☞ 动态规划里总结出来的
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
for ( int i = 0 ; i < arr. length; i++ ) {
for ( int j = arr. length - 1 ; j >= i; j-- ) {
System . out. print ( arr[ j] + " " ) ;
}
System . out. println ( ) ;
}
1 ←分水岭→ 1 ←分水岭→ 1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 ←分水岭→ 2 1 ←分水岭→ 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2
1 2 3 ←分水岭→ 3 2 1 ←分水岭→ 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3
1 2 3 4 ←分水岭→ 4 3 2 1 ←分水岭→ 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4
1 2 3 4 5 ←分水岭→ 5 4 3 2 1 ←分水岭→ 5 6 7 8 9 ←分水岭→ 9 8 7 6 5
1 2 3 4 5 6 ←分水岭→ 6 5 4 3 2 1 ←分水岭→ 6 7 8 9 ←分水岭→ 9 8 7 6
1 2 3 4 5 6 7 ←分水岭→ 7 6 5 4 3 2 1 ←分水岭→ 7 8 9 ←分水岭→ 9 8 7
1 2 3 4 5 6 7 8 ←分水岭→ 8 7 6 5 4 3 2 1 ←分水岭→ 8 9 ←分水岭→ 9 8
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1 ←分水岭→ 9 ←分水岭→ 9
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
for ( int i = 0 ; i < arr. length; i++ ) {
for ( int j = arr. length - 1 ; j >= i; j-- ) {
System . out. print ( arr[ i] + " " ) ;
}
System . out. println ( ) ;
}
1 ←分水岭→ 1 ←分水岭→ 1 1 1 1 1 1 1 1 1 ←分水岭→ 1 1 1 1 1 1 1 1 1
2 2 ←分水岭→ 2 2 ←分水岭→ 2 2 2 2 2 2 2 2 ←分水岭→ 2 2 2 2 2 2 2 2
3 3 3 ←分水岭→ 3 3 3 ←分水岭→ 3 3 3 3 3 3 3 ←分水岭→ 3 3 3 3 3 3 3
4 4 4 4 ←分水岭→ 4 4 4 4 ←分水岭→ 4 4 4 4 4 4 ←分水岭→ 4 4 4 4 4 4
5 5 5 5 5 ←分水岭→ 5 5 5 5 5 ←分水岭→ 5 5 5 5 5 ←分水岭→ 5 5 5 5 5
6 6 6 6 6 6 ←分水岭→ 6 6 6 6 6 6 ←分水岭→ 6 6 6 6 ←分水岭→ 6 6 6 6
7 7 7 7 7 7 7 ←分水岭→ 7 7 7 7 7 7 7 ←分水岭→ 7 7 7 ←分水岭→ 7 7 7
8 8 8 8 8 8 8 8 ←分水岭→ 8 8 8 8 8 8 8 8 ←分水岭→ 8 8 ←分水岭→ 8 8
9 9 9 9 9 9 9 9 9 ←分水岭→ 9 9 9 9 9 9 9 9 9 ←分水岭→ 9 ←分水岭→ 9
【外左内右回放的思想】X8
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
for ( int i = 0 ; i < arr. length; i++ ) {
for ( int j = 0 ; j <= arr. length - 1 - i; j++ ) {
str += arr[ j] + " " ;
}
for ( int j = arr. length - 1 - i; j >= 0 ; j-- ) {
str += arr[ j] + " " ;
}
for ( int j = arr. length - 1 - i; j < arr. length; j++ ) {
str += arr[ j] + " " ;
}
for ( int j = arr. length - 1 ; j >= arr. length - 1 - i; j-- ) {
str += arr[ j] + " " ;
}
}
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1 ←分水岭→ 9 ←分水岭→ 9
1 2 3 4 5 6 7 8 ←分水岭→ 8 7 6 5 4 3 2 1 ←分水岭→ 8 9 ←分水岭→ 9 8
1 2 3 4 5 6 7 ←分水岭→ 7 6 5 4 3 2 1 ←分水岭→ 7 8 9 ←分水岭→ 9 8 7
1 2 3 4 5 6 ←分水岭→ 6 5 4 3 2 1 ←分水岭→ 6 7 8 9 ←分水岭→ 9 8 7 6
1 2 3 4 5 ←分水岭→ 5 4 3 2 1 ←分水岭→ 5 6 7 8 9 ←分水岭→ 9 8 7 6 5
1 2 3 4 ←分水岭→ 4 3 2 1 ←分水岭→ 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4
1 2 3 ←分水岭→ 3 2 1 ←分水岭→ 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3
1 2 ←分水岭→ 2 1 ←分水岭→ 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2
1 ←分水岭→ 1 ←分水岭→ 1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
for ( int i = 0 ; i < arr. length; i++ ) {
for ( int j = 0 ; j <= arr. length - 1 - i; j++ ) {
str += arr[ i] + " " ;
}
for ( int j = arr. length - 1 - i; j >= 0 ; j-- ) {
str += arr[ i] + " " ;
}
for ( int j = arr. length - 1 - i; j < arr. length; j++ ) {
str += arr[ i] + " " ;
}
for ( int j = arr. length - 1 ; j >= arr. length - 1 - i; j-- ) {
str += arr[ i] + " " ;
}
}
1 1 1 1 1 1 1 1 1 ←分水岭→ 1 1 1 1 1 1 1 1 1 ←分水岭→ 1 ←分水岭→ 1
2 2 2 2 2 2 2 2 ←分水岭→ 2 2 2 2 2 2 2 2 ←分水岭→ 2 2 ←分水岭→ 2 2
3 3 3 3 3 3 3 ←分水岭→ 3 3 3 3 3 3 3 ←分水岭→ 3 3 3 ←分水岭→ 3 3 3
4 4 4 4 4 4 ←分水岭→ 4 4 4 4 4 4 ←分水岭→ 4 4 4 4 ←分水岭→ 4 4 4 4
5 5 5 5 5 ←分水岭→ 5 5 5 5 5 ←分水岭→ 5 5 5 5 5 ←分水岭→ 5 5 5 5 5
6 6 6 6 ←分水岭→ 6 6 6 6 ←分水岭→ 6 6 6 6 6 6 ←分水岭→ 6 6 6 6 6 6
7 7 7 ←分水岭→ 7 7 7 ←分水岭→ 7 7 7 7 7 7 7 ←分水岭→ 7 7 7 7 7 7 7
8 8 ←分水岭→ 8 8 ←分水岭→ 8 8 8 8 8 8 8 8 ←分水岭→ 8 8 8 8 8 8 8 8
9 ←分水岭→ 9 ←分水岭→ 9 9 9 9 9 9 9 9 9 ←分水岭→ 9 9 9 9 9 9 9 9 9
【外右内左回放的思想】X8
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
for ( int i = arr. length - 1 ; i >= 0 ; i-- ) {
for ( int j = 0 ; j <= arr. length - 1 - i; j++ ) {
str += arr[ j] + " " ;
}
for ( int j = arr. length - 1 - i; j >= 0 ; j-- ) {
str += arr[ j] + " " ;
}
for ( int j = arr. length - 1 - i; j < arr. length; j++ ) {
str += arr[ j] + " " ;
}
for ( int j = arr. length - 1 ; j >= arr. length - 1 - i; j-- ) {
str += arr[ j] + " " ;
}
}
1 ←分水岭→ 1 ←分水岭→ 1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1
1 2 ←分水岭→ 2 1 ←分水岭→ 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2
1 2 3 ←分水岭→ 3 2 1 ←分水岭→ 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3
1 2 3 4 ←分水岭→ 4 3 2 1 ←分水岭→ 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4
1 2 3 4 5 ←分水岭→ 5 4 3 2 1 ←分水岭→ 5 6 7 8 9 ←分水岭→ 9 8 7 6 5
1 2 3 4 5 6 ←分水岭→ 6 5 4 3 2 1 ←分水岭→ 6 7 8 9 ←分水岭→ 9 8 7 6
1 2 3 4 5 6 7 ←分水岭→ 7 6 5 4 3 2 1 ←分水岭→ 7 8 9 ←分水岭→ 9 8 7
1 2 3 4 5 6 7 8 ←分水岭→ 8 7 6 5 4 3 2 1 ←分水岭→ 8 9 ←分水岭→ 9 8
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1 ←分水岭→ 9 ←分水岭→ 9
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
for ( int i = arr. length - 1 ; i >= 0 ; i-- ) {
for ( int j = 0 ; j <= arr. length - 1 - i; j++ ) {
str += arr[ i] + " " ;
}
for ( int j = arr. length - 1 - i; j >= 0 ; j-- ) {
str += arr[ i] + " " ;
}
for ( int j = arr. length - 1 - i; j < arr. length; j++ ) {
str += arr[ i] + " " ;
}
for ( int j = arr. length - 1 ; j >= arr. length - 1 - i; j-- ) {
str += arr[ i] + " " ;
}
}
9 ←分水岭→ 9 ←分水岭→ 9 9 9 9 9 9 9 9 9 ←分水岭→ 9 9 9 9 9 9 9 9 9
8 8 ←分水岭→ 8 8 ←分水岭→ 8 8 8 8 8 8 8 8 ←分水岭→ 8 8 8 8 8 8 8 8
7 7 7 ←分水岭→ 7 7 7 ←分水岭→ 7 7 7 7 7 7 7 ←分水岭→ 7 7 7 7 7 7 7
6 6 6 6 ←分水岭→ 6 6 6 6 ←分水岭→ 6 6 6 6 6 6 ←分水岭→ 6 6 6 6 6 6
5 5 5 5 5 ←分水岭→ 5 5 5 5 5 ←分水岭→ 5 5 5 5 5 ←分水岭→ 5 5 5 5 5
4 4 4 4 4 4 ←分水岭→ 4 4 4 4 4 4 ←分水岭→ 4 4 4 4 ←分水岭→ 4 4 4 4
3 3 3 3 3 3 3 ←分水岭→ 3 3 3 3 3 3 3 ←分水岭→ 3 3 3 ←分水岭→ 3 3 3
2 2 2 2 2 2 2 2 ←分水岭→ 2 2 2 2 2 2 2 2 ←分水岭→ 2 2 ←分水岭→ 2 2
1 1 1 1 1 1 1 1 1 ←分水岭→ 1 1 1 1 1 1 1 1 1 ←分水岭→ 1 ←分水岭→ 1
【外右内右回放的思想】X8
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
for ( int i = arr. length - 1 ; i >= 0 ; i-- ) {
for ( int j = 0 ; j <= i; j++ ) {
str += arr[ j] + " " ;
}
for ( int j = i; j >= 0 ; j-- ) {
str += arr[ j] + " " ;
}
for ( int j = i; j < arr. length; j++ ) {
str += arr[ j] + " " ;
}
for ( int j = arr. length - 1 ; j >= i; j-- ) {
str += arr[ j] + " " ;
}
}
1 2 3 4 5 6 7 8 9 ←分水岭→ 9 8 7 6 5 4 3 2 1 9 9
1 2 3 4 5 6 7 8 ←分水岭→ 8 7 6 5 4 3 2 1 8 9 9 8
1 2 3 4 5 6 7 ←分水岭→ 7 6 5 4 3 2 1 7 8 9 9 8 7
1 2 3 4 5 6 ←分水岭→ 6 5 4 3 2 1 6 7 8 9 9 8 7 6
1 2 3 4 5 ←分水岭→ 5 4 3 2 1 5 6 7 8 9 9 8 7 6 5
1 2 3 4 ←分水岭→ 4 3 2 1 4 5 6 7 8 9 9 8 7 6 5 4
1 2 3 ←分水岭→ 3 2 1 3 4 5 6 7 8 9 9 8 7 6 5 4 3
1 2 ←分水岭→ 2 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2
1 ←分水岭→ 1 1 2 3 4 5 6 7 8 9 9 8 7 6 5 4 3 2 1
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
for ( int i = arr. length - 1 ; i >= 0 ; i-- ) {
for ( int j = 0 ; j <= i; j++ ) {
str += arr[ i] + " " ;
}
for ( int j = i; j >= 0 ; j-- ) {
str += arr[ i] + " " ;
}
for ( int j = i; j < arr. length; j++ ) {
str += arr[ i] + " " ;
}
for ( int j = arr. length - 1 ; j >= i; j-- ) {
str += arr[ i] + " " ;
}
}
9 9 9 9 9 9 9 9 9 ←分水岭→ 9 9 9 9 9 9 9 9 9 9 9
8 8 8 8 8 8 8 8 ←分水岭→ 8 8 8 8 8 8 8 8 8 8 8 8
7 7 7 7 7 7 7 ←分水岭→ 7 7 7 7 7 7 7 7 7 7 7 7 7
6 6 6 6 6 6 ←分水岭→ 6 6 6 6 6 6 6 6 6 6 6 6 6 6
5 5 5 5 5 ←分水岭→ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
4 4 4 4 ←分水岭→ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
3 3 3 ←分水岭→ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
2 2 ←分水岭→ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
1 ←分水岭→ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
【for (int i = 0; i <= arr.length - 7; i++) 】
int [ ] arr
if ( arr. length <= 7 ) {
return Arrays . stream ( arr) . sum ( ) > 3 ;
} else {
for ( int i = 0 ; i <= arr. length - 7 ; i++ ) {
int [ ] ints = Arrays . copyOfRange ( arr, i, i + 7 ) ;
int sum = Arrays . stream ( ints) . sum ( ) ;
if ( sum > 3 ) {
return true ;
}
}
}
for ( int i = 0 ; i <= nums. length - k; i++ ) {
int [ ] ints = Arrays . copyOfRange ( nums, i, i + k) ;
Arrays . stream ( ints) . max ( ) . ifPresent ( res:: add ) ;
}
【 for (int i = 0; i < str.length(); ) 】
List < String > res = new ArrayList < > ( ) ;
for ( int i = 0 ; i < str. length ( ) ; ) {
if ( i + 8 < str. length ( ) ) {
String substring = str. substring ( i, i + 8 ) ;
res. add ( substring) ;
i = i + 8 ;
} else {
String substring = str. substring ( i) ;
res. add ( substring) ;
i = i + 8 ;
}
}
数组 【范围截取】
int [ ] arr = new int [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ;
for ( int i = 0 ; i < arr. length; i++ ) {
for ( int j = 0 ; j < arr. length; j++ ) {
str += arr[ i] + " " ;
}
}
for ( int i = 1 ; i < arr. length; i++ ) {
String str1 = "" ;
for ( int j = 1 ; j < arr. length; j++ ) {
str1 += arr[ i] + " " ;
}
}
for ( int i = arr. length - 1 ; i < arr. length; i++ ) {
for ( int j = arr. length - 1 ; j < arr. length; j++ ) {
str1 += arr[ j] + " " ;
}
}
1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9
2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9
9
参考
数组遍历 ☞ 第1波学习总结 数组遍历 ☞ 第2波学习总结 数组遍历 ☞ 第3波学习总结