List.Set集合的简单应用与方法

本文详细介绍了Java中List集合的ArrayList特性,包括创建时指定数据类型的重要性,与数组的区别,以及常用方法如add、get、remove等。此外,还探讨了Set集合,特别是TreeSet和HashSet,强调它们的去重特性及存储顺序的不确定性。同时,文章提到了泛型在集合使用中的重要性,以及如何处理自定义类对象在HashSet中的去重问题。
摘要由CSDN通过智能技术生成

                                           List 集合

常用的list集合是ArrayList:一次只能储存一个元素!
1.   在创建这个集合的对象时:

一定要指定这个集合存储的数据类型! 否则这个集合的数据是不安全的。

2.   与数组的区别:
①数组的长度是固定的, 集合的长度是可变的。
②数组可以存储基本类型和引用数据类型的数据.集合不可以存储基本数据类型, 只能存储引用数据类型

3.   如果集合中需要存储基本类型的数据, 集合的类型必须指定为对应的包装类型

4.    list集合中的常用方法 (E:element元素)

(1)add(E): 往集合中添加一个元素
(2)add(index,E): 把元素添加到指定的位置, 原来的内容会被挤到后面

(3)get(index): 通过索引获取集合中对应的内容

(4)size(): 获取集合的大小

(5)remove(index): 根据索引删除指定位置的内容, 返回被删除的元素
(6)remove(Object): 删除集合中的指定对象, 如果有多个相同的对象, 只会删除第一个

(7)contains(E): 判断集合中是否包含指定的元素

(8)indexOf(E): 获取元素在集合中第一次出现的位置

(9)lastIndexOf(E): 获取元素在集合中最后一次出现的位置

(10)isEmpty(): 判断集合中的元素是否为空

(11)set(index,E):把指定位置的内容修改掉,返回的是被修改的内容

(12)clear():清空集合中得所有元素

(13)toArray():把集合转换成Object数组,注意不能转换成其他数组

因为toArray方法引入的比范型晚,为了兼容早期java代价,toArray保留了返回类型为Object

 

相关问题:

(1)关于remove();

1.

2.

(2)list集合排序:

Collections.sort

 

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Scanner;

public class Main5 {
	public static void main(String[] args) {
		ArrayList la  = new ArrayList();
		la.add(1);
		la.add(2);
		
		LinkedList ll = new LinkedList();
		l.add(1);
		l.add(2);
		System.out.println(l.indexOf(4));
		
	}
}

ArrayList内部是数组,进行增删时会氛围一个更大的内存,麻烦,但是查找方便

ArrayLIst查询效率高:ArrayLIst是连续存放元素的,找到第一个元素的首地址,再加上每个元素的占据的字节大小就能定位到对应的元素。

LinkedList插入删除效率高。因为执行插入删除操作时,只需要操作引用即可,元素不需要移动元素,他们分布在内存的不同地方,通过引用来互相关联起来。而ArrayLIst需要移动元素,故效率低

数组的插入也相当的浪费效率,如果要在数组内的某一个位置进行插入,需要先将插入位置的前面复制一份,然后在新的数组后面添加新的元素,最后将旧的数组后半部分添加的新的数组后面,而在链表中插入就变得相当简单了,比如我要在A3和A4中插入B,只需定位到A3的指针和A4的数据即可,将A3的指针指向B的值,将B的指针指向A4的值,B就插入进了链表.

 


                                              Set集合

1.    Set集合特点:

(1)一次只能存一个元素

(2)不能储存重复的元素

(3)储存顺序和取出来的顺序不一定一致

2.    常用的方法:</

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值