List 实例
public class ArrayList1 {
public static void main ( String [ ] args) {
List list= new ArrayList ( ) ;
list. add ( "中国" ) ;
list. add ( "美国" ) ;
list. add ( "英国" ) ;
list. add ( "俄罗斯" ) ;
list. add ( "日本" ) ;
System . out. println ( list) ;
if ( list. isEmpty ( ) ) {
System . out. println ( "true" ) ;
} else {
System . out. println ( "false" ) ;
}
System . out. println ( list. get ( 2 ) ) ;
System . out. println ( list. remove ( 3 ) + "//用索引删除" ) ;
System . out. println ( list. contains ( "日本" ) + "//用值查找" ) ;
}
public static void main ( String [ ] args) {
List < String > list = new ArrayList < String > ( ) ;
list. add ( "李哥,男,1981-1-1" ) ;
list. add ( "小陈,女,1981-1-1" ) ;
list. add ( "小刘,男,1981-1-1" ) ;
list. add ( "小张,男,1981-1-1" ) ;
list. add ( "小董,男,1981-1-1" ) ;
list. add ( "小吕,男,1981-1-1" ) ;
for ( String info : list) {
System . out. println ( info) ;
}
}
List的添加与删除
public class ArraylistAddandDel {
public static void main ( String [ ] args) {
List list= new ArrayList ( ) ;
list. add ( "hello" ) ;
list. add ( "world" ) ;
list. add ( "java" ) ;
list. add ( "你好" ) ;
list. add ( "hello" ) ;
list. add ( "world" ) ;
list. add ( "java" ) ;
list. add ( "你好" ) ;
list. add ( "hello" ) ;
list. add ( "world" ) ;
list. add ( "java" ) ;
list. add ( "你好" ) ;
list. add ( "hello" ) ;
list. add ( "world" ) ;
list. add ( "java" ) ;
list. add ( "你好" ) ;
System . out. println ( "*********使用迭代器删除当前的重复的元素********" ) ;
List li= new ArrayList ( ) ;
Iterator it= list. iterator ( ) ;
while ( it. hasNext ( ) ) {
String str= ( String ) it. next ( ) ;
if ( ! li. contains ( str) ) {
li. add ( str) ;
}
}
for ( int i= 0 ; i< li. size ( ) ; i++ ) {
String s= ( String ) li. get ( i) ;
System . out. println ( s) ;
}
System . out. println ( "&&&&&&&&&&&&&&用for循环删除当前的重复的元素&&&&&&&&&&&&&&&&&&&7" ) ;
for ( int x= 0 ; x< list. size ( ) - 1 ; x++ ) {
for ( int y= x+ 1 ; y< list. size ( ) ; y++ ) {
if ( list. get ( x) . equals ( list. get ( y) ) ) {
list. remove ( y) ;
y-- ;
}
}
}
Iterator ite= list. iterator ( ) ;
while ( ite. hasNext ( ) ) {
String st= ( String ) ite. next ( ) ;
System . out. println ( st) ;
}
}
}
实例2
public class Arraylist {
public static void main ( String [ ] args) {
List list= new ArrayList ( ) ;
ArrayList list1= new ArrayList ( ) ;
list1. ensureCapacity ( 50 ) ;
list1. trimToSize ( ) ;
list. add ( "hello" ) ;
list. add ( "world" ) ;
list. add ( "java" ) ;
list. add ( "你好" ) ;
list. add ( 4 , "中国" ) ;
System . out. println ( list. get ( 4 ) ) ;
System . out. println ( list. size ( ) ) ;
System . out. println ( list. contains ( "你好" ) ) ;
System . out. println ( list. isEmpty ( ) ) ;
System . out. println ( list. hashCode ( ) ) ;
System . out. println ( list. indexOf ( "你好" ) ) ;
System . out. println ( list. set ( 1 , "世界" ) ) ;
System . out. println ( list. lastIndexOf ( "中国" ) ) ;
System . out. println ( "****************************" ) ;
for ( int x= 0 ; x< list. size ( ) ; x++ ) {
String str= ( String ) list. get ( x) ;
System . out. println ( str) ;
}
System . out. println ( "&&&迭代器迭代元素,迭代器修改元素&添加的元素在迭代元素的后面&&" ) ;
ListIterator aj= list. listIterator ( ) ;
while ( aj. hasNext ( ) ) {
String r= ( String ) aj. next ( ) ;
if ( "你好" . equals ( r) ) {
aj. add ( "飞吧" ) ;
}
}
System . out. println ( list+ "/n" ) ;
System . out. println ( "----------集合遍历元素,集合修改元素(普通的For)--------------" ) ;
for ( int i= 0 ; i< list. size ( ) ; i++ ) {
String h= ( String ) list. get ( i) ;
if ( "世界" . equals ( h) ) {
list. add ( "地球" ) ;
System . out. println ( list) ;
}
}
System . out. println ( "***********************8888" ) ;
Person p1= new Person ( 1 , "张三" , 23 ) ;
Person p2= new Person ( 2 , "李四" , 24 ) ;
Person p3= new Person ( 3 , "王五" , 25 ) ;
Person p4= new Person ( 4 , "赵六" , 24 ) ;
Person p5= new Person ( 5 , "孙七" , 34 ) ;
Person p6= new Person ( 6 , "钱二" , 32 ) ;
Person p7= new Person ( 7 , "石一" , 32 ) ;
Person p8= new Person ( 8 , "牛八" , 34 ) ;
List lis= new ArrayList ( ) ;
lis. add ( p1) ;
lis. add ( p2) ;
lis. add ( p3) ;
lis. add ( p4) ;
lis. add ( p4) ;
List < Person > li= new ArrayList < Person > ( ) ;
lis. add ( p5) ;
lis. add ( p6) ;
lis. add ( p7) ;
li. addAll ( lis) ;
Iterator < Person > it= lis. iterator ( ) ;
System . out. println ( "*************Iterator迭代器遍历***************" ) ;
while ( it. hasNext ( ) ) {
Person str= it. next ( ) ;
System . out. println ( str) ;
}
System . out. println ( "*************list特有的 链表迭代器遍历listIterator******************" ) ;
ListIterator < Person > ae= lis. listIterator ( ) ;
while ( ae. hasNext ( ) ) {
Person person= ae. next ( ) ;
System . out. println ( person) ;
}
System . out. println ( "&&&&&&&&&&&用ListIterator迭代器的逆循环&&&&&&&&&&&&&&" ) ;
while ( ae. hasPrevious ( ) ) {
Person po= ae. previous ( ) ;
System . out. println ( po) ;
}
System . out. println ( "------for循环+迭代方法----------" ) ;
for ( Iterator < Person > a= lis. iterator ( ) ; a. hasNext ( ) ; ) {
Person per= a. next ( ) ;
System . out. println ( per) ;
}
System . out. println ( "----------for循环---------------" ) ;
for ( int x= 0 ; x< lis. size ( ) ; x++ ) {
System . out. println ( lis. get ( x) ) ;
}
System . out. println ( "^^^^for each循环^^^^^^^" ) ;
for ( Person er: li) {
System . out. println ( er) ;
}
}
list数据的嵌套
List < ArrayList < Person > > biglist= new ArrayList < ArrayList < Person > > ( ) ;
List < Person > per= new ArrayList < Person > ( ) ;
Person p1= new Person ( 1 , "诸葛亮" , 29 ) ;
Person p2= new Person ( 2 , "曹操" , 45 ) ;
Person p3= new Person ( 3 , "鲁肃" , 34 ) ;
Person p4= new Person ( 4 , "周瑜" , 26 ) ;
Person p5= new Person ( 5 , "贾图" , 23 ) ;
Person p6= new Person ( 6 , "庞统" , 26 ) ;
per. add ( p1) ;
per. add ( p2) ;
per. add ( p3) ;
per. add ( p4) ;
per. add ( p5) ;
per. add ( p6) ;
biglist. add ( ( ArrayList < Person > ) per) ;
List < Person > per1= new ArrayList < Person > ( ) ;
Person p7= new Person ( 1 , "孙悟空" , 100 ) ;
Person p8= new Person ( 2 , "猪八戒" , 120 ) ;
Person p9= new Person ( 3 , "沙僧" , 90 ) ;
Person p01= new Person ( 4 , "唐僧" , 59 ) ;
Person p02= new Person ( 5 , "白龙马" , 32 ) ;
per1. add ( p7) ;
per1. add ( p8) ;
per1. add ( p9) ;
per1. add ( p01) ;
per1. add ( p02) ;
biglist. add ( ( ArrayList < Person > ) per1) ;
List < Person > per2= new ArrayList < Person > ( ) ;
Person p03= new Person ( 1 , "林冲" , 34 ) ;
Person p04= new Person ( 2 , "武松" , 32 ) ;
Person p06= new Person ( 3 , "华荣" , 34 ) ;
Person p05= new Person ( 4 , "徐宁" , 24 ) ;
Person p07= new Person ( 5 , "小七" , 35 ) ;
Person p08= new Person ( 5 , "关胜" , 45 ) ;
per2. add ( p03) ;
per2. add ( p04) ;
per2. add ( p05) ;
per2. add ( p06) ;
per2. add ( p07) ;
per2. add ( p08) ;
biglist. add ( ( ArrayList < Person > ) per2) ;
for ( ArrayList < Person > srt: biglist) {
for ( Person st: srt) {
System . out. println ( st. getId ( ) + st. getName ( ) + st. getAge ( ) ) ;
}
}
}
Iterator 与 ListIterator
实例1
import java. util. ArrayList ;
import java. util. Iterator ;
import java. util. List ;
public class IteratorDemoIterator 与for 结合遍历List {
public static void main ( String [ ] args) {
List < Integer > list = new ArrayList < Integer > ( ) ;
for ( int i = 0 ; i < 10 ; i++ ) {
list. add ( i) ;
}
System . out. println ( "列表中的全部元素:" ) ;
for ( Iterator < Integer > it = list. iterator ( ) ; it. hasNext ( ) ; ) {
System . out. print ( it. next ( ) + " " ) ;
}
}
}
实例2
import java. util. ArrayList ;
import java. util. List ;
import java. util. ListIterator ;
public class ListIteratorDemo 逆序遍历ArrayList {
public static void main ( String [ ] args) {
List < Integer > list = new ArrayList < Integer > ( ) ;
for ( int i = 0 ; i < 10 ; i++ ) {
list. add ( i) ;
}
System . out. println ( "列表中的全部元素:" + list) ;
System . out. println ( "逆序输出列表中的元素:" ) ;
ListIterator < Integer > li = list. listIterator ( ) ;
for ( li = list. listIterator ( ) ; li. hasNext ( ) ; ) {
li. next ( ) ;
}
for ( ; li. hasPrevious ( ) ; ) {
System . out. print ( li. previous ( ) + " " ) ;
}
}
}