Java:Collection集合的特点、常用方法

Java:Collection集合的特点、常用方法

集合体系结构

集合的体系

Collection系列:单例集合,每个元素只包含一个值Map系列:双列集合,每个元素是由两个值组成的,即键值对

Collection集合体系

Collection集合包含接口、实现类。

下面是常用的:

Collection集合的特点

List系列集合:添加的元素是有序(即往集合中存入元素的顺序和从集合中取出元素的顺序相同)、可重复(指可以往集合中添加相同的元素)、有索引的(指可以通过索引操作集合中的数据)。

ArrayList、LinkedList是有序、可重复、无索引的。

Set系列集合:添加的元素不能重复、无索引。

HashSet是无序、不能重复、无索引的。

LinkedHashSet是有序、不能重复、无索引的。

TreeSet是按照大小默认升序排序、不重复、无索引的。

示例:ArrayList是有序的

package com.team.collection;

import java.util.ArrayList;

import java.util.List;

public class Test {

public static void main(String[] args) {

List list = new ArrayList<>();

list.add("java");

list.add("html");

list.add("javascript");

list.add("mysql");

System.out.println(list);

}

}

运行输出:

[java, html, javascript, mysql]

示例:ArrayList元素是可以重复的

package com.team.collection;

import java.util.ArrayList;

import java.util.List;

public class Test {

public static void main(String[] args) {

List list = new ArrayList<>();

list.add("java");

list.add("html");

list.add("javascript");

list.add("mysql");

list.add("java");

list.add("java");

System.out.println(list);

}

}

运行输出:

[java, html, javascript, mysql, java, java]

示例:ArrayList是支持索引的

package com.team.collection;

import java.util.ArrayList;

import java.util.List;

public class Test {

public static void main(String[] args) {

List list = new ArrayList<>();

list.add("java");

list.add("html");

list.add("javascript");

list.add("mysql");

for (int i = 0; i < list.size(); i++) {

System.out.println(list.get(i));

}

}

}

运行输出:

java

html

javascript

mysql

示例:HashSet是无序的

package com.team.collection;

import java.util.HashSet;

import java.util.Set;

public class Test {

public static void main(String[] args) {

Set set = new HashSet<>();

set.add("java");

set.add("html");

set.add("javascript");

set.add("mysql");

System.out.println(set);

}

}

运行输出:

[java, html, mysql, javascript]

示例:HashSet元素是不能重复的

package com.team.collection;

import java.util.HashSet;

import java.util.Set;

public class Test {

public static void main(String[] args) {

Set set = new HashSet<>();

set.add("java");

set.add("html");

set.add("java");

set.add("java");

set.add("html");

System.out.println(set);

}

}

运行输出:

[java, html]

Collection集合各个类的应用场景

1、如果希望记住元素的添加顺序,需要存储重复的元素,又要频繁地根据索引查询数据

用ArrayList集合。因为ArrayList是有序、可重复、有索引的,底层基于数组实现。

2、如果希望记住元素的顺序,且增删首尾数据的情况较多

用LinkedList集合。因为LinkedList是有序、可重复、有索引的,底层基于双向链表实现。

3、如果不在意元素顺序,也没有重复元素存储,只希望增删改查都快

用HashSet集合。因为HashSet集合无序、不重复、无索引,底层基于哈希表实现。

4、如果希望记住元素的添加顺序,也没有重复元素需要存储,且希望增删改查都快

用LinkedHashSet集合。因为LinkedHashSet集合有序、不重复、无索引,底层基于哈希表和双链表。

5、如果要对元素进行排序,也没有重复元素需要存储,且希望增删改查都快

用TreeSet集合。因为TreeSet集合底层基于红黑树实现。

Collection的常用方法

add(E e)方法

boolean add(E e):确保此集合包含指定的元素(可选操作)。如果此集合因调用而发生变化,则返回true。如果此集合不允许重复且已经包含指定元素,则返回false。

示例:

package com.team.collection;

import java.util.ArrayList;

import java.util.Collection;

public class Test {

public static void main(String[] args) {

Collection collection = new ArrayList<>();

collection.add("java");

collection.add("html");

collection.add("js");

collection.add("js");

collection.add("mysql");

collection.add("mysql");

collection.add("python");

System.out.println(collection);

}

}

运行输出:

[java, html, js, js, mysql, mysql, python]

clear()方法

void clear():从这个集合中移除所有元素(可选操作)。此方法返回后,集合将为空。

示例:

package com.team.collection;

import java.util.ArrayList;

import java.util.Collection;

public class Test {

public static void main(String[] args) {

Collection collection = new ArrayList<>();

collection.add("java");

collection.add("html");

collection.add("js");

collection.add("js");

collection.add("mysql");

collection.add("mysql");

collection.add("python");

System.out.println(collection);

collection.clear();

System.out.println(collection);

}

}

运行输出:

[java, html, js, js, mysql, mysql, python]

[]

isEmpty()方法

boolean isEmpty():如果此集合不包含任何元素,则返回true。

示例:

package com.team.collection;

import java.util.ArrayList;

import java.util.Collection;

public class Test {

public static void main(String[] args) {

Collection collection = new ArrayList<>();

collection.add("java");

collection.add("html");

collection.add("js");

collection.add("js");

collection.add("mysql");

collection.add("mysql");

collection.add("python");

System.out.println(collection);

System.out.println(collection.isEmpty());

collection.clear();

System.out.println(collection);

System.out.println(collection.isEmpty());

}

}

运行输出:

[java, html, js, js, mysql, mysql, python]

false

[]

true

size()方法

int size():返回此集合中的元素数量。如果此集合包含超过 Integer.MAX_VALUE 个元素,则返回

Integer.MAX_VALUE。

示例:

package com.team.collection;

import java.util.ArrayList;

import java.util.Collection;

public class Test {

public static void main(String[] args) {

Collection collection = new ArrayList<>();

collection.add("java");

collection.add("html");

collection.add("js");

collection.add("js");

collection.add("mysql");

collection.add("mysql");

collection.add("python");

System.out.println(collection);

System.out.println(collection.size());

}

}

运行输出:

[java, html, js, js, mysql, mysql, python]

7

contains(Object o)方法

boolean contains(Object o):如果此集合包含指定的元素,则返回true。更正式地说,当且仅当此集合包含至少一个元素e 使得 Objects.equals(o, e) 为真时,返回true。

示例:

package com.team.collection;

import java.util.ArrayList;

import java.util.Collection;

public class Test {

public static void main(String[] args) {

Collection collection = new ArrayList<>();

collection.add("java");

collection.add("html");

collection.add("js");

collection.add("js");

collection.add("mysql");

collection.add("mysql");

collection.add("python");

System.out.println(collection);

System.out.println(collection.contains("java"));

System.out.println(collection.contains("JAVA"));

}

}

运行输出:

[java, html, js, js, mysql, mysql, python]

true

false

remove(Object o)方法

boolean remove(Object o):如果此集合中存在指定的元素,则从此集合中移除该元素的一个实例(可选操作)。更正式地说,如果此集合包含一个或多个满足Objects.equals(o, e) 的元素e,则移除这些元素中的一个。如果此集合包含指定的元素(或者等价地,如果此集合因调用而发生变化),则返回true。如果有多个重复的元素,删除前面的第一个元素。

示例:

package com.team.collection;

import java.util.ArrayList;

import java.util.Collection;

public class Test {

public static void main(String[] args) {

Collection collection = new ArrayList<>();

collection.add("java");

collection.add("html");

collection.add("js");

collection.add("js");

collection.add("mysql");

collection.add("mysql");

collection.add("python");

System.out.println(collection);

collection.remove("java");

System.out.println(collection);

collection.remove("mysql");

System.out.println(collection);

}

}

运行输出:

[java, html, js, js, mysql, mysql, python]

[html, js, js, mysql, mysql, python]

[html, js, js, mysql, python]

toArray()方法

Object[] toArray():返回一个包含此集合中所有元素的数组。如果此集合对其迭代器返回的元素顺序有任何保证,则此方法必须以相同的顺序返回这些元素。

示例:

package com.team.collection;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collection;

public class Test {

public static void main(String[] args) {

Collection collection = new ArrayList<>();

collection.add("java");

collection.add("html");

collection.add("js");

collection.add("js");

collection.add("mysql");

collection.add("mysql");

collection.add("python");

System.out.println(collection);

Object[] objects = collection.toArray();

System.out.println(Arrays.toString(objects));

}

}

运行输出:

[java, html, js, js, mysql, mysql, python]

[java, html, js, js, mysql, mysql, python]

toArray(T[] a)方法

T[] toArray(T[] a):返回一个包含此集合中所有元素的数组;返回的数组的运行时类型为指定数组的类型。

示例:

package com.team.collection;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collection;

public class Test {

public static void main(String[] args) {

Collection collection = new ArrayList<>();

collection.add("java");

collection.add("html");

collection.add("js");

collection.add("js");

collection.add("mysql");

collection.add("mysql");

collection.add("python");

System.out.println(collection);

String[] strings = collection.toArray(new String[collection.size()]);

System.out.println(Arrays.toString(strings));

}

}

运行输出:

[java, html, js, js, mysql, mysql, python]

[java, html, js, js, mysql, mysql, python]

addAll(Collection c)方法

boolean addAll(Collection c):将指定集合中的所有元素添加到此集合中。

示例:

package com.team.collection;

import java.util.ArrayList;

import java.util.Collection;

public class Test {

public static void main(String[] args) {

Collection collection1 = new ArrayList<>();

collection1.add("java");

collection1.add("html");

Collection collection2 = new ArrayList<>();

collection2.add("js");

collection2.add("js");

collection2.add("mysql");

collection1.addAll(collection2);

System.out.println("collection1变为:" + collection1);

System.out.println("collection2仍然是:" + collection2);

}

}

运行输出:

collection1变为:[java, html, js, js, mysql]

collection2仍然是:[js, js, mysql]

相关推荐

世界乒乓球冠军下载
bst365体育娱乐平台

世界乒乓球冠军下载

⌛ 07-06 👁️ 1774