Java基础——collection接口
int [] x=new int[5]; //声明一个数组,长度为5,每个元素都是 int型
Student [] list=new Student[5]; //声明一个数组,长度为5,每个元素都是 Student 型

import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> c = new ArrayList<String>();
Collection<String> d = new ArrayList<String>();
Collection<String> e = new ArrayList<String>();
Collection<String> f = new ArrayList<String>(); // Integer中的i要大写
ArrayList<Integer> h = new ArrayList<Integer>();// h和g做比较 h.add(4);
h.add(33);
h.add(66);
h.add(77);
h.add(345);
h.add(44);
// h.add("aaa");—报错
// h.add(ff);—报错 // Object[] g={"aaa",4,33,66,ff,77,88,345,44,"dd","cfc"}; a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); c.add("黃");
c.add("河"); d.add("白");
d.add("日");
d.add("依");
d.add("山");
d.add("尽"); e.add("山");
e.add("尽"); f.add("5");
// f.add(6); Object[] g = { "aaa", 4, 33, 66, 77, 88, 345, 44, "dd", "cfc" }; System.out.println(a.isEmpty());
System.out.println(a.add("白"));
System.out.println(a.addAll(c));
System.out.println(a); System.out.println(a.contains("地"));
System.out.println(a.containsAll(c));// true
System.out.println(a.equals(c));
System.out.println(c); a.clear();
System.out.println(a);
System.out.println(a.containsAll(d)); d.remove("白");
System.out.println(d);
d.remove("wang");// 没有反应
System.out.println(d); System.out.println(a.hashCode());// a此时已经被晴空了
// 第一次时,我竟然是这么写的:a.hashCode();
System.out.println(c.hashCode());
System.out.println(d.hashCode()); a.add("浪花滚滚");
System.out.println(a); System.out.println(e.removeAll(d));
System.out.println(d.removeAll(e));
System.out.println(d);
System.out.println(e);
System.out.println(e.size());
// 我之前写成e.size();
System.out.println(d.size()); System.out.println(a.toArray());// 哈哈哈注意
System.out.println(f.toArray());// 哈哈哈注意 System.out.println("=========分割线========="); // System.out.println(g);
for (int i = 0; i < g.length; i++)
System.out.println(g); System.out.println("**********分割线*********"); // 获取数组
Integer[] array = h.toArray(new Integer[h.size()]);
// 遍历数组
/**
* for(int i=0;i<h.length;i++){ System.out.println(h[i]+""); length
* 报错:cannot be resolved or is not a field
*/
for (int element : array) {
System.out.println(element);// 和下面的一起打印,结果竟然!!! System.out.print(element + "\t");// 复习一下而已 } } }
Output:
//上面示例的打印结果!!
false
true
true
[白, 日, 依, 山, 尽, 白, 黃, 河]
false
true
false
[黃, 河]
[]
false
[日, 依, 山, 尽]
[日, 依, 山, 尽]
1
1288721
798365125
[浪花滚滚]
true
false
[日, 依, 山, 尽]
[]
0
4
[Ljava.lang.Object;@16925b0
[Ljava.lang.Object;@297ffb
=========分割线=========
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
[Ljava.lang.Object;@914f6a
**********分割线*********
4
4 33
33 66
66 77
77 345
345 44
44
Collection常用方法小总结:
boolean add(E e) //注意它的参数类型
boolean addAll(Collection<? extends E> c) 将指定 collection 中的所有元素都添加到此 collection 中
boolean remove(Object o)
boolean contains(Object o) //判断集合中指定的元素是否存在
boolean containsAll()// 如果此 collection 包含指定 collection 中的所有元素,则返回 true。
boolean removeAll(Collection<?> c)
boolean retainAll(Collection<?> c) 仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)(取交集)
clear()
size()
toArray()
boolean isEmpty()
Iterator<E> iterator() 返回在此 collection 的元素上进行迭代的迭代器。
代码实例(关注比较结果)
例一:(主要对比1.有无注释掉的内容;2.true和false和打印位置;3思考执行顺序和字符串类型的比较)
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); a.remove("4"); b.add("白");
b.add("日");
b.add("依");
b.add("山");
b.add("尽"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}

例二:
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); //a.remove("4"); b.add("白");
b.add("日");
b.add("依");
b.add("山");
b.add("尽"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); //System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}

例三:
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); a.remove("4"); b.add("黃");
b.add("河");
b.add("入");
b.add("海");
b.add("流"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}

例四:
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); //a.remove("4"); b.add("黃");
b.add("河");
b.add("入");
b.add("海");
b.add("流"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); //System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}

例五:
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); //a.remove("4"); b.add("黃");
b.add("河");
b.add("入"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); //System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}

例六:
import java.util.ArrayList;
import java.util.Collection; public class CollT {
public static void main(String[] args) { Collection<String> a = new ArrayList<String>();
Collection<String> b = new ArrayList<String>(); a.add("白");
a.add("日");
a.add("依");
a.add("山");
a.add("尽"); a.remove("4"); b.add("黃");
b.add("河");
b.add("入"); System.out.println(b.equals(a)); System.out.println(a);
System.out.println(b); System.out.println(a.hashCode());
System.out.println(b.hashCode()); System.out.println(a.removeAll(b)); System.out.println(a);
System.out.println("==================="); Object[] c = a.toArray();
String s = null;
for (int i = 0; i < c.length; i++) {
s = (String) c[i];
System.out.println(s);
} }
}

二、List与set常用方法
/*List集合的特有特性
*
*public interface List<E>extends Collection<E>
*-- add(int index, E element) 在列表的指定位置插入指定元素
*-- addAll(int index, Collection<? extends E> c)
*-- E get(int index) //返回列表中指定位置的元素。
*-- int indexOf(Object o) // 返回此列表中第一次出现的指定元素的索引
*-- listIterator()
*-- e set(int index, E element) // 用指定元素替换列表中指定位置的元素
*-- void remove(int position) 移除指定位置的元素
*-- List<E> subList(int fromIndex, int toIndex ) 类似substring()
*/
import java.util.ArrayList; class CollT {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("Java"); // 下標是0
list.add("Class"); // 下標是1
list.add("Array"); // 下標是2
list.add("Collection"); // 下標是3
list.add("List"); // 下標是4
list.add("Set"); // 下標是5
System.out.println(list.subList(0, 3));// 注意不包含下標是3的
}
}

Java基础——collection接口的更多相关文章
- Java基础-Collection子接口之Set接口
Java基础-Collection子接口之Set接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 学习Collection接口时,记得Collection中可以存放重复元素,也可 ...
- Java基础-Collection子接口之List接口
Java基础-Collection子接口之List接口 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们掌握了Collection接口的使用后,再来看看Collection接口中 ...
- Java基础十--接口
Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...
- Java基础-面向接口(interface)编程
Java基础-面向接口(interface)编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的“类 ...
- Java基础 -- Collection和Iterator接口的实现
Collection是描述所有序列容器(集合)共性的根接口,它可能被认为是一个“附属接口”,即因为要表示其他若干个接口的共性而出现的接口.另外,java.util.AbstractCollection ...
- java SE基础(Collection接口概述)
Collection接口相关集成关系例如以下图 1. 关于可迭代接口(Iterable) 可迭代接口仅包括一个方法,返回一个在一组T类型元素上进行迭代的迭代器: public ...
- Java 之 Collection 接口
一.Collection 集合 Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是 java.util.List 和 java.util.Set. ...
- java集合——Collection接口
Collection是Set,List接口的父类接口,用于存储集合类型的数据. 2.方法 int size():返回集合的长度 void clear():清除集合里的所有元素,将集合长度变为0 Ite ...
- java.util (Collection接口和Map接口)
1:Collection和Map接口的几个主要继承和实现类 1.1 Collection接口 Collection是最基本的集合接口,一个Collection代表一 ...
随机推荐
- ASP.Net MVC OA项目笔记<三>
1.1.1 业务层和数据层之间加一个数据会话层,封装所有数据操作类实例的创建(工厂类) 工厂类是负责对象的创建 作用:将BLL和DAL解耦了,提供一个数据访问的统一访问点 数据会话层DBSession ...
- Android开发 - 获取Android设备的唯一标识码(Android 6.0或更高)
在我们的APP开发中,通常需要获取到设备的唯一标识.在Android6.0之前,有很多方法我们可以方便获取到硬件的唯一标识,但是在Android6.0之后,Android系统大幅限制了我们获取设备的硬 ...
- DZY Loves Math(莫比乌斯反演)
\(x=p_1^{\alpha_1}p_2^{\alpha_2}...p_c^{\alpha_c}\) \(f(x)=\max(\alpha_1,\alpha_2,...,\alpha_c)\) \( ...
- webstorm “Unterminated statement”
使用webstorm的时候,写console.log,或者一些其他语句的时候 偶尔会出现这种提示,不是报错,就是看着别扭,应该是写法规范问题. 解决办法: 在下面空一行就行了
- flex定位下overflow失效的问题研究
概述 这是我在写移动端页面遇到的问题及解决方法,记录下来供以后开发时参考,相信对其他人也有用. 问题 之前写移动端页面,有一个顶条是导航条,需要固定在页面顶部,并且里面的元素需要可以左右滚动. 但是当 ...
- [LeetCode]最长回文子串 java
题目: 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为1000. 示例 1: 输入: "babad" 输出: "bab" 注意: ...
- [Leetcode]495.提莫攻击
题目: 在<英雄联盟>的世界中,有一个叫 "提莫" 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态.现在,给出提莫对艾希的攻击时间序列和提莫攻击的中 ...
- app绘制手势密码 、九宫格分解
什么是九宫格? 即是我们常见的手势绘制.一共有9个点,让我们进行绘制手势.我们手动操作的时候,通过是按住第一个点,然后移动到最后一点,然后松开,就完成手势的操作,那么,如果要用自动化代码,来让其自动绘 ...
- 剑指offer六之求旋转数组的最小数字
一.题目 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个 ...
- (转)pathlib路径库使用详解
原文:https://xin053.github.io/2016/07/03/pathlib%E8%B7%AF%E5%BE%84%E5%BA%93%E4%BD%BF%E7%94%A8%E8%AF%A6 ...