ArryList集合的使用
ArryList集合与数组之间的区别
字符串一旦被创建其长度就无法更改,而ArryList则可以改变其自身的长度。
ArryList 包含的方法
1.添加元素 public boolen add(E e){}
eg
import java.util.ArryList
public class Demo01{
//使用ArryList时需要导包并且创建对象<>中代表着类型只能时引用类型,不能基本类型
public static void main (String [] args){
ArryList<String> list = new ArryList<>();
list.add("张三");
//其返回值代表着元素是否添加成功
boolean success = list.add("李四");
}
}
2.得到元素 public E get(int index){} E是返回值类型
eg
import java.util.ArryList
public class Demo01{
public static void main(String [] args){
ArryList<String> list = new ArryList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
//得到该索引处的值
String name = list.get(3);
}
}
3.删除元素 public E remove(int index){}
eg
import java.util.ArryList
public class Demo01{
public static void main(String [] args){
ArryList<String> list = new ArryList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
//删除索引是3处的值返回值是删除的名字
int name = list.remove(3);
System.out.println("删除的名字是"+name);
}
}
4.查看ArryList集合的1长度 public int size(){}
eg
import java.util.ArryList
public class Demo01{
public static void main(String [] args){
ArryList<String> list = new ArryList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
int size = list.size();
System.out.pritln("该集合的长度是:"+size);
}
}
对该集合遍历输出
eg
import java.util.ArryList
public class Demo01{
public static void main(String [] args){
ArryList<String> list = new ArryList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
for(int i=0;i<list.size();i++){
System.out.print(list.get(i)+" ");
}
}
}
如何向集合中添加基本类型
如果希望向集合中添加基本类型,则必须用包装类
byte Byte
short Short
int Integer (特殊)
float Float
double Double
char Character (特殊)
boolean Boolean
eg
package com.work8;
import java.util.ArrayList;
public class Demo02 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(100);
list.add(200);
list.add(300);
System.out.println(list);
}
}
练习
1.题目 :生成6个1-33的随机整数,添加到集合,并且遍历
package com.work8;
import java.util.ArrayList;
import java.util.Random;
//生成6个1-33的随机整数,添加到集合,并且遍历
public class Demo03 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 6; i++) {
int num = r.nextInt(33)+1;
list.add(num);
}
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+" ");
}
System.out.println();
}
}
2.题目 :定义4个学生类 ,添加到集合并且遍历
package com.work8;
import java.util.ArrayList
//定义4个学生类 ,添加到集合并且遍历
public class Demo04 {
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<>();
Student one = new Student("张三",18);
Student two = new Student("李四",19);
Student three = new Student("王五",20);
Student four = new Student("赵六",21);
list.add(one);
list.add(two);
list.add(three);
list.add(four);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getName()+"的年龄是:"+ list.get(i).getAge());
}
}
}
3.题目:定义以指定方式打印集合的一个方法(ArryList作为参数)格式{10@20@30}
package com.work8;
import java.util.ArrayList;
public class Demo05 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(10);
list.add(20);
list.add(30);
list.add(40);
printArryList(list);
}
public static void printArryList(ArrayList<Integer> list){
System.out.print("{");
for (int i = 0; i < list.size(); i++) {
if(i==list.size()-1){
System.out.print(list.get(i)+"}");
}else
System.out.print(list.get(i)+"@");
}
}
}
4.题目:用一个大集合存储20个1-100的随机数,在定义一个方法返回一个小集合来筛选其中的偶数并且存储
package com.work8;
import java.util.ArrayList;
import java.util.Random;
//用一个大集合存储20个1-100的随机数,在定义一个方法返回一个小集合来筛选其中的偶数并且存储
public class Demo06 {
public static void main(String[] args) {
ArrayList<Integer> listA = new ArrayList<>();
ArrayList<Integer> listB = new ArrayList<>();
Random r= new Random();
for (int i = 0; i <20 ; i++) {
int num = r.nextInt(100)+1;
listA.add(num);
}
listB = filterEven(listA);
for (int i = 0; i < listB.size(); i++) {
System.out.print(listB.get(i)+" ");
}
public static ArrayList<Integer> filterEven(ArrayList<Integer> listA){
ArrayList<Integer> listB = new ArrayList<>();
for (int i = 0; i < listA.size(); i++) {
if(listA.get(i)%2==0){
listB.add(listA.get(i));
}
}
return listB;
}
}