// List - 存储数据的特点是:有序,可重复
/* ArrayList - 可变的数组,数组的类型是Object类型,
* 所有的类型都是可以的,默认存储的是对象,特点是查询快
* linkedLIst - 链表结构,主要针对表的头和尾设计了一系列的方法,
* 新增,删除稍微快点
* add(),追加
* remove(),移除,根据对象来删除,也可以根据下标来删除
* get(index),获取指定下标的内容
* contains(),判断集合中是否包含某一个元素
* size(),求集合的长度
* isEmpty(),判断集合是不是空的
* set(index,date),修改指定下标的内容
*/
// set - 接口
// 多态的体现
// java中多态的体现 - 父类或者接口的引用变量,指向了子类或者实现类的实例对象
/* 1、set存储数据的特点 - 无序的,不重复的(唯一的)
* 2、set是如何保证存储数据的唯一性的 - HashCode(),equals()
* 3、set集合和list集合的比较
*/
Map集合
Java中提供Map集合主要用来保存具有一定对应关系的数据。在给Map集合中存放对象的时候,一次要求存放一组(一对)对象。
这个一组(一对)对象之间有一定的对应关系。因此把Map集合称为双列集合。
Map集合中的常用方法:
增加: put(K key, V value)
删除:clear();remove(Object key)
获取:get(Object key) 根据指定key获取Map集合中key对应的value值,如果key不存在,返回null
size() 获取key-value对应关系的个数
判断:
containsKey(Object key) 判断Map是否包含指定的key,有就返回true
containsValue(Object value) 判断Map是否包含指定的value,有就返回true
isEmpty() 判断Map集合是否为null,它的size 是零
keySet(),获取map中所有的key组成一个set集合。
entrySet() ,获取map中所有的键值对组成一个set集合。
通过List集合的方法,使集合中的值不重复
public void notRepeat2(List list,String str){//list
for(int i=0;i<str.length();i++)
{
String s = str.charAt(i)+"";
if(!list.contains(s))
{
list.add(s);
}
}
for(int j=0;j<list.size();j++)
{
System.out.print(list.get(j));
}
}