简单阐述一下Java集合的概要

网友投稿 260 2023-01-04

简单阐述一下Java集合的概要

概念

java中的集合就是一种容器,可以容纳不同种类的数据,这些容纳是建立在未知的基础上。

优点

1.可以动态保存任意多个对象,使用比较方便。

2.提供一系列方便的操作对象的方法:add、remove、set、get等

3.使用集合添加,删除新元素的示意代码简洁。

集合框架图

Collection接口和常用方法

1.Collection实现子类可以存放多个元素,每个元素可以是Object

2.有些Collection的实现类,可以存放重复的元素,有些不可以

3.有些Collection的实现类,有些是有序的(list),有些不是有序的(set)

4.Collection接口没有直接的实现子类,是通过他的子接口Set和List来实现的。

Collection接口常用方法

1.add 添加单个元素 2.remove 删除指定元素 3.contains 查找元素是否存在

4.size 获取元素个数 5.isEmpty 判断是否为空 6.clear 清空 7.addAll 添加多个元素

8.containsAll 查找多个元素是否都存在 9.removeAll 删除多个元素

Collection迭代器遍历元素

1.Iterator对象称为迭代器,主要用于遍历Collection集合中的元素

2.所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了

​ iterator接口的对象,即可以返回一个迭代器

3.Iterator仅用于遍历集合,它本身并不存放对象

for循环增强

增强for循环,可以代替iterator迭代器

特点:增强for就是简化版的iterator,本质一样,只能用于遍历集合或数组

基本语法

for(元素类型 元素名:集合名或数组名){

访问元素

}

/**案例演示*/

public class Card {

public static void main(String[] args) {

/**

* 1.准备牌

* 2.洗牌

* 3.发牌

* 4.看牌*/

//1.

//创建一个牌盒

ArrayList BoxCard = new ArrayList();

//创建花色集合

ArrayList color = new ArrayList();

//创建数字集合

ArrayList numbers = new ArrayList();

//添加花色牌

color.add("♠");

color.add("♥");

color.add("♦");

color.add("♣");

//创建数字牌

for (int i = 2; i <=10 ; i++) {

numbers.add(i+"");

}

numbers.add("J");

numbers.add("Q");

numbers.add("k");

numbers.add("A");

//把花色牌和数字牌添加到一个大牌盒

for (String o:color) {

for (String n : numbers) {

String card = o + n;

BoxCard.add(card);

}

}

BoxCard.add("BigKing");

BoxCard.add("SmallKing");

//2.

Collections.shuffle(BoxCard);

System.out.println(BoxCard);

//3.发牌

//创建三个用户

ArrayList player1 = new ArrayList();

ArrayList player2 = new ArrayList<>();

ArrayList player3 = new AoEupJgxMFrrayList<>();

//递牌

ArrayList GiveCards = new ArrayList<>();

for (int m = 0; m

//获取牌面

String cards = BoxCard.get(m);

//发牌顺序余三张

if (m>=51){

GiveCards.add(cards);

}else {

if (m % 3 ==0){

player1.add(cards);//获取第一个玩家牌数

}else if (m % 3 ==1){

player2.add(cards);//获取第二个玩家牌数

}else {

player3.add(cards);//获取第三个玩家牌数

}

}

}

//看牌

System.out.println("第一个玩家"+player1);

System.out.println("第二个玩家"+player2);

System.out.println("第三个玩家"+player3);

System.out.println("底牌"+GiveCards);

}

}

list接口和常用方法

1.list集合类中元素有序(及添加顺序和取出顺序一致)、可重复

2.list集合类中的每个元素都有其对应的顺序索引,及支持索引

3.list容器中的元素对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素

4.JDK API中list接口常用实现的类:ArrayList、LinkedList和Vector。

常用方法

add 添加单个元素 remove 删除指定元素

public E get(int index)返回集合中指定位置

public E set(int index ,E element)用指定元素替换集合中指定位置的元素,返回值的更新前的元素

public class olg {

public static void main(String[] args) {

//创建集合对象

List list = new ArrayList();

//尾部添加指定数据

list.add("光之子");

list.add("神印王座");

list.add("酒神");

list.add("诸神黄昏");

System.out.println(list);

//指定位置添加

list.add(1,"全职高手");

System.out.println(list);

//删除指定元素

System.out.println(list.remove(3));

list.set(1,"斗罗大陆");

System.out.println(list);

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

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

}

//增强for

for (String s:list){

System.out.println(s);

}

}

}

ArrayList

java.util.ArrayList 集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能 为查询数据、遍历数据,所以 ArrayList 是最常用的集合。

LinkedList集合

java.util.LinkedList 集合数据存储的结构是链表结构。方便元素添加、删除的集合

常用方法

public void addFirst(E e) :将指定元素插入此列表的开头。

public void addLast(E e) :将指定元素添加到此列表的结尾。

public E getFirst() :返回此列表的第一个元素。

public E getLast() :返回此列表的最后一个元素。

public E removeFirst() :移除并返回此列表的第一个元素。

public E removeLast() :移除并返回此列表的最后一个元素。

public E pop() :从此列表所表示的堆栈处弹出一个元素。

public void push(E e) :将元素推入此列表所表示的堆栈。

public boolean isEmpty() :如果列表不包含元素,则返回true。

public class Linked {

public static void main(String[] args) {

LinkedList link = new LinkedList();

//添加第一个元素值

link.addFirst("龙皓晨");

link.addFirst("姬动");

link.addFirst("叶音竹");

link.addFirst("长弓威");

System.out.println(link);

//获取元素

System.out.println(link.getFirst());//第一个值

System.out.println(link.getLast());//最后一个值

//删除元素

System.out.println(link.removeFirst());

System.out.println(link.removeLast());

while (!link.isEmpty()){//判断集合是否为空

System.out.println(link.pop());//弹出集合中的栈顶元素

}

System.out.println(link);

}

}

Map集合(键值对集合)

现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等, 这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即 java.util.Map 接口。

HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重 复,需要重写键的hashCode()方法、equals()方法。

LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。 通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的 hashCode()方法、equals()方法。

常用方法

public V put(K key, V value)`: 把指定的键与指定的值添加到Map集合中。

public V remove(Object key)`: 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的 值。`

public V get(Object key)` 根据指定的键,在Map集合中获取对应的值。 `

boolean containsKey(Object key) ` 判断集合中是否包含指定的键。

public Set keySet()`: 获取Map集合中所有的键,存储到Set集合中。

public Set> entrySet()`: 获取到Map集合中所有的键值对对象的集合(Set集合)。

public class HashMapdemo {

public static void main(String[] args) {

//创建Map对象

HashMap map = new HashMap();

//添加元素到集合

map.put("李世民","长孙皇后");

map.put("1","朱元璋");

System.out.println(map);

//删除

System.out.println(map.remove("1"));

System.out.println(map);

//查看李世民的皇后

System.out.println(map.get("李世民"));

}

}

//添加元素到集合

map.put("李世民","长孙皇后");

map.put("1","朱元璋");

System.out.println(map);

//删除

System.out.println(map.remove("1"));

System.out.println(map);

//查看李世民的皇后

System.out.println(map.get("李世民"));

}

}

//获取牌面

String cards = BoxCard.get(m);

//发牌顺序余三张

if (m>=51){

GiveCards.add(cards);

}else {

if (m % 3 ==0){

player1.add(cards);//获取第一个玩家牌数

}else if (m % 3 ==1){

player2.add(cards);//获取第二个玩家牌数

}else {

player3.add(cards);//获取第三个玩家牌数

}

}

}

//看牌

System.out.println("第一个玩家"+player1);

System.out.println("第二个玩家"+player2);

System.out.println("第三个玩家"+player3);

System.out.println("底牌"+GiveCards);

}

}

list接口和常用方法

1.list集合类中元素有序(及添加顺序和取出顺序一致)、可重复

2.list集合类中的每个元素都有其对应的顺序索引,及支持索引

3.list容器中的元素对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素

4.JDK API中list接口常用实现的类:ArrayList、LinkedList和Vector。

常用方法

add 添加单个元素 remove 删除指定元素

public E get(int index)返回集合中指定位置

public E set(int index ,E element)用指定元素替换集合中指定位置的元素,返回值的更新前的元素

public class olg {

public static void main(String[] args) {

//创建集合对象

List list = new ArrayList();

//尾部添加指定数据

list.add("光之子");

list.add("神印王座");

list.add("酒神");

list.add("诸神黄昏");

System.out.println(list);

//指定位置添加

list.add(1,"全职高手");

System.out.println(list);

//删除指定元素

System.out.println(list.remove(3));

list.set(1,"斗罗大陆");

System.out.println(list);

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

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

}

//增强for

for (String s:list){

System.out.println(s);

}

}

}

ArrayList

java.util.ArrayList 集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能 为查询数据、遍历数据,所以 ArrayList 是最常用的集合。

LinkedList集合

java.util.LinkedList 集合数据存储的结构是链表结构。方便元素添加、删除的集合

常用方法

public void addFirst(E e) :将指定元素插入此列表的开头。

public void addLast(E e) :将指定元素添加到此列表的结尾。

public E getFirst() :返回此列表的第一个元素。

public E getLast() :返回此列表的最后一个元素。

public E removeFirst() :移除并返回此列表的第一个元素。

public E removeLast() :移除并返回此列表的最后一个元素。

public E pop() :从此列表所表示的堆栈处弹出一个元素。

public void push(E e) :将元素推入此列表所表示的堆栈。

public boolean isEmpty() :如果列表不包含元素,则返回true。

public class Linked {

public static void main(String[] args) {

LinkedList link = new LinkedList();

//添加第一个元素值

link.addFirst("龙皓晨");

link.addFirst("姬动");

link.addFirst("叶音竹");

link.addFirst("长弓威");

System.out.println(link);

//获取元素

System.out.println(link.getFirst());//第一个值

System.out.println(link.getLast());//最后一个值

//删除元素

System.out.println(link.removeFirst());

System.out.println(link.removeLast());

while (!link.isEmpty()){//判断集合是否为空

System.out.println(link.pop());//弹出集合中的栈顶元素

}

System.out.println(link);

}

}

Map集合(键值对集合)

现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等, 这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即 java.util.Map 接口。

HashMap:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重 复,需要重写键的hashCode()方法、equals()方法。

LinkedHashMap:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。 通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的 hashCode()方法、equals()方法。

常用方法

public V put(K key, V value)`: 把指定的键与指定的值添加到Map集合中。

public V remove(Object key)`: 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的 值。`

public V get(Object key)` 根据指定的键,在Map集合中获取对应的值。 `

boolean containsKey(Object key) ` 判断集合中是否包含指定的键。

public Set keySet()`: 获取Map集合中所有的键,存储到Set集合中。

public Set> entrySet()`: 获取到Map集合中所有的键值对对象的集合(Set集合)。

public class HashMapdemo {

public static void main(String[] args) {

//创建Map对象

HashMap map = new HashMap();

//添加元素到集合

map.put("李世民","长孙皇后");

map.put("1","朱元璋");

System.out.println(map);

//删除

System.out.println(map.remove("1"));

System.out.println(map);

//查看李世民的皇后

System.out.println(map.get("李世民"));

}

}

//添加元素到集合

map.put("李世民","长孙皇后");

map.put("1","朱元璋");

System.out.println(map);

//删除

System.out.println(map.remove("1"));

System.out.println(map);

//查看李世民的皇后

System.out.println(map.get("李世民"));

}

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于空包网站源头API接口的信息
下一篇:网站api接口调用教程(api接口调用网站源码)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~