龙空技术网

java零基础自学教程(九)列表

极客饕餮 368

前言:

而今兄弟们对“java数组数量”大概比较关怀,各位老铁们都需要知道一些“java数组数量”的相关资讯。那么小编在网摘上汇集了一些关于“java数组数量””的相关内容,希望各位老铁们能喜欢,看官们快快来学习一下吧!

一 ArrayList

java提供特殊的类来存储和操作对象组.其中一个特殊的类就是ArrayList.

标准java数组的长度是不变的,它们在创建之后不能扩展也不能缩小.

ArrayList使用初始大小创建,但是当超过这个大小时,集合会自动增大,当对象被删除时,ArrayList可能会缩小.

ArrayList类在java.util包中,因此在使用它之前需要导入它

import java.util.ArrayList;

//......

ArrayList colors=new ArrayList(); //像任何对象一样创建一个ArrayList

ArrayList<String> colors=new ArrayList<String>(5); //指定ArrayList保存的对象的类型为String和容量为5

●ArrayList<String>存储对象.因此,指定的类型必须是class类型.例如,你不能传递int作为对象的类型,但是你可以使用Integer(也是整数的意思)

ArrayList类提供很多有用的方法来处理对象

add()方法将新对象添加到ArrayList

remove()方法从ArrayList中移除对象

import java.util.ArrayList;

public class MyJavaClass{

publid static void main(String[] args){

ArrayList<String> colors=new ArrayList<String>();

colors.add=("Red");

colors.add=("Blue");

colors.add=("Green");

colors.add=("Orange");

colors.remove("Blue");

System.out.println(colors);

}

} //输出:[Red,Green,Orange]

ArrayList类其他方法:

●contains():如果列表中包含指定元素,则返回true

●get(int index):返回列表中指定位置的元素

●size():返回列表中元素的数量

●clear():从列表中删除所有元素

ArrayList类与数组一样,索引从0开始

二 LinkedList

LinkedList在语法上与ArrayList非常相似

import java.util.LinkedList;

public class MyJavaClass{

public static void main(String[] args){

LinkedList<String> c=new LinkedList<String>();

c.add("Red");

c.add("Blue");

c.add("Green");

c.add("Orange");

c.remove("Blue");

System.out.println(c); }

} //输出[Red,Green,Orange]

不能为LinkedList指定初始容量

LinkedList和ArrayList最大的区别在于他们存储对象的方式

ArrayList更适 S合存储和访问数据,它与普通数组非常相似

LinkedList更适合操作数据,比如进行大量的插入和删除操作.除了存储对象之外,LinkedList还存储跟随它的元素的内存地址(或链接)

LinkedList是由于每个元素都包含到相邻元素的链接而取名LinkedList

使用增强型for循环(foreach循环)遍历LinkedList元素

LinkedList<String> c=new LinkedList<String>();

c.add("Red");

c.add("Blue");

c.add("Green");

c.add("Orange");

c.remove("Blue");

for(String s:c){

System.out.println(s);

} // 输出 Red Green Orange

●当需要快速访问你的数据时,使用ArrayList,需要进行大量的插入和删除操作时,使用LinkedList

三 HashMap

数组和列表将元素存储为有序集合,每个元素都有一个整数索引

HashMap用于将数据集合存储为键和值对.一个对象被用作另一个对象(值)的键(索引)

put,remove和get方法用于添加,删除和访问HashMap中的值.

import java.util.HashMap;

public class MyJavaClass{

public static void main(String[] args){

HashMap<String,Integer> points=new HashMap<String,Integer>();

points.put("Shutter",90);

points.put("Leon",85);

points.put("Lu",80);

System.out.println(points.get("Leon")); }

} //输出85

我们创建了一个HashMap,其中的字符串作为键,整数作为其值

●使用get方法和相应的键来访问HashMap元素

一个HashMap不能包含重复的键,使用已存在的键添加到新项目会覆盖旧元素.

HashMap类提供了containsKey和containsValue方法,用于确定是否存在指定的键或值.

如果尝试获取映射中不存在的值,则会返回null值.

null是表示缺少值的特殊类型

四 Set

Set是不能包含重复元素的集合.它模拟数学集抽象

Set的一个实现是HashSet类

import java.util.HashSet;

public class MyJavaClass{

public static void main(String[] args){

HashSet<String> set=new HashSet<String>();

set.add("A");

set.add("B");

set.add("C");

System.out.println(set); }

} //输出[A, B,C]

你可以使用size()方法获取HashSet中元素的数量,例如set.size()

HashSet类不会自动保留添加元素的顺序.若要对元素进行排序,使用LinkedHashSet,它将按照他们插入的顺序来维护集合元素的链接列表.

神马是哈希?

哈希表通过称为哈希的机制存储信息,其中使用键的信息内容来确定哈希码的唯一值.所以,HashSet中的每一个元素都与其唯一的哈希码相关联.

java中可用的集合类型,包括Set(集),List(列表),Map(映射),选择使用哪一个取决于你需要存储和操作的数据.

五 排序列表

为了处理不同集合类型的数据,java API提供了一个Collections类,它包含在java.util包中.

最常用的Collections类的方法是sort(),它对集合类型的元素进行排序.Collections类中的方法是静态的,所以不需要一个Collections对象来调用他们

public class MyJavaClass{

public static void main(String[] args){

ArrayList<String> animals=new ArrayList<String>();

animals.add("dog");

animals.add("cat");

animals.add("monkey");

ainmals.add("bear");

Collections.sort(animals);

System.out.println(animals); }

} //输出[bear,cat,dog,monkey] sort()使得这些元素按字母顺序排列

你可以在不同类型的列表上调用sort()方法,如Integer

import java.util.ArrayList;

import java.util.Collections;

public class MyJavaClass{

public static void main(String[] args){

ArrayList<Integer> nums=new ArrayList<Integer>();

nums.add(12);

nums.add(17);

nums.add(30);

nums.add(33);

nums.add(7);

Collections.sort(nums);

System.out.println(nums); }

} // 输出[7,12,17,30,33]

Collections类中的其他方法:

max(Collection c):返回由自然顺序决定的c中的最大元素

min(Collection c):返回由自然顺序决定的c中的最小元素

reverse(List list):反转列表中的序列

shuffle(List list):将列表中的元素随机排序

标签: #java数组数量