Java泛型与ArrayList(1)

在Java 5之后,Java中引入了泛型,参数化类型的概念。允许程序在创建集合时指定集合元素的类型。

public class Genericc {
	public static void main(String[] args) {
		List  list = new ArrayList<>();
		list.add("北京");
		list.add("中国");
		//list.add(100);
		list.forEach(ll -> System.out.println(ll.length()));
		list.forEach(ll -> System.out.println(ll));
	}

}
结果:
2
2
北京
中国

       上面中的List集合只允许存放String类型的变量,其他类型的变量不允许存放,否则程序会编译错误。

       以上定义List时的语句中有两个<>,其中是集合允许存放的元素的类型,这种语法被称为菱形语法。在Java 7版本之后,构造器中的<>可以不声明类型,这样使代码看起来更加整洁。

       ArrayList是一个采用类型参数的泛型类,它可以动态地添加集合元素,相比于之前的数组,要灵活很多。之前的数组在定义时制定了数组的长度,对于实际情况中存放元素的数量存在变化的情况,可能存在内存溢出或者严重浪费。也就是说,有的时候数组不够用或者定义的数组过长,实际上需求不是很大。当数组不够用的情况下需要程序员显式的开辟新的数组,而数组列表List可以自动的完成内存的扩充。

以下是ArrayList类的几个方法:

ArrayList<>() 用于构造一个空的数组列表

ArrayList<>(int ) 构造一个指定了容量的数组列表

boolean add( T )  在数组列表尾部添加新的元素

int size() 返回数组列表当前元素的数量 区分一下数组的length

访问数组列表元素:

            ArrayList不是程序设计语言的一部分,而是一些人通过编写封装成一个类存放于Java标准库中的一个实用类。

list.set(1,“美国”),第一个参数是要更改的元素存放在数组列表中的下标,第二个则是要更改的值。

list.remove(1),将下标为1的数组列表元素删除。

list.get(0),得到下标为0的数组列表元素的值。

 

 

 

你可能感兴趣的:(Java)