20170824 - Q - 集合框架

Posted 清及

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20170824 - Q - 集合框架相关的知识,希望对你有一定的参考价值。

1 集合存储的是什么类型数据?如果存储的是基本类型数据呢?

2 集合存储的是什么?

3 集合分为几种?

4 如果改变元素的值,集合内存放的元素会改变吗?

5
public static void main(String[] args) {
// TODO Auto-generated method stub
Collection c = new ArrayList();
point p = new point(1,2);
c.add(p);
System.out.println("p:"+p);
System.out.println("c:"+c);

test(p);
System.out.println("p:"+p);
System.out.println("c:"+c);
}

public static void test(point p){
p.setX(3);
p = new point(3,5);

p的值为多少?

6 集合的add方法返回的是什么?

7 contains(element)判断的是什么?如何判断?


8 如果不重写equals方法调用?

9 如何获取集合内的元素个数?

10 如何清空集合内元素?

11 如何判断集合是否为空?

12 Collection c1 = new ArrayList();发生的是什么?

13 如何讲一个集合内的所有元素添加到另一个?

14 hashSet添加c2集合时,c2内含有重复元素是否会继续添加?返回值是什么?

15 如何判断某集合是否包含另一集合所有元素?

16 如何通过另外一个集合来删除原有集合的相同元素?

17 如何遍历集合?为何遍历出的元素需要强转?

18 比较两个字符串应如何写判断式?
“#”.equals(str)

18 如何使用迭代器?

19 使用迭代器时可否更改集合(集合的方法)?可以通过什么方法删除?

20 java特性是什么认可,有什么含义?

21 接口的实现类实例化的对象向上造型给接口对象,是否能调用toString()方法?

22 如何使用加强for循环?

23 泛型可以用于规定基本类型数据吗?如何定义?

24 泛型用于?泛型可以指定多少个类型?泛型不指定时是什么型?
规定类内参数类型/集合传入参数类型,多个,Object

25
public class Point<E> {
private E x;
private E y;

public Point(E x,E y){
super();
this.x = x;
this.y = y;
}

public E getX(){
return x;
}

public void setX(E x){
this.x = x;
}

public String toString(){
return "["+x+","+y+"]";
}

public static void main(String[] args) {
// TODO Auto-generated method stub

}

}


Point p1 = p;
p1.setX("一");
int x1 = p.getX();
System.out.println(p);
System.out.println(p1);

26 如何规定集合内的元素类型?

27 掌握迭代器循环及新循环。

29 数组 动态数组 链表 集合的特点与区别

30 使用list时需注意?

31 如何更换list内元素?返回的是什么?

32 List是Collection的子类型接口,List是可重复集,并且有序,提供了一套可以根据下标操作元素的方法
*
* 常见实现类:
* java.util.ArrayList:数组实现,查询效率高
* java.util.LinkedList:链表实现,增删元素效率高
* 尤其是首尾增删元素

33 List的更换,删除,追加,添加所调用的方法及返回值。

34 下方代码是否能正常运行?
List<Integer> list = new ArrayList<Integer>();
ArrayList<Integer> subList = list.subList(2,7)
System.out.println(subList);

35 使用List统合数据的思路

36 如何获取List型数据某段的集合,对获取的该段子集进行操作后原集合是否会改变?
List<Integer> sList = list.subList(3,8);

37 如何快速删除集合内某段元素?

38 集合和数组的互转。
public class CollectionToArrayDemo {

public static void main(String[] args) {
// TODO Auto-generated method stub
Collection<String> list = new ArrayList<String>();
list.add("one");
list.add("one");
list.add("one");
String[] oo = list.toArray(new String[list.size()]);
for(String str:oo){
System.out.println(str );
}

}

}

public class ArrayToCollection {

public static void main(String[] args) {
// TODO Auto-generated method stub
String[] array = {"one","one","one","one","one"};
/*
*
* 数组转换的集合是不能添加元素的
* 更改转换而来的集合的元素原有的数组亦会改变
*/
List<String> list = Arrays.asList(array);
System.out.println("size:"+list.size());
System.out.println(list);
list.set(0, "1");
System.out.println(list);
for(String str:array){
System.out.println(str);
}

List<String> list1 = new ArrayList<String>(list);

System.out.println("list1:"+list1);
list1.add("six");
System.out.println("list1:"+list1);
}

}

39 int[]/Integer[]

 

41 数组可以直接输出显示吗?集合呢?

 

A.Collection是一个接口,定义了集合相关的操作方法

B.List接口与Set接口继承自顶级接口Collection,

C1.List中的实现类为ArrayList,LinkedList→D1
C2.Set接口的实现类为...

D1.ArrayList及LinkedList的比较,

E.List类元素的更换,删除,追加,添加,切片所调用的方法及返回值。

F.一些通用方法,
判断集合A是否包含所有集合B的元素用什么方法?又是怎么判断的?

如何获取集合内的元素个数?

如何清空集合内的元素?

如何判断集合是否为空?

如何让A集合添加B集合所有元素?

C列表如何在初始化时便添加所有D数组的元素?

如何遍历集合?

如何使用迭代器和加强for循环?


OTHER.
集合中存储的是什么?

可以直接往集合中存储基本类型数据吗?

有序A集合添加到无序B集合,会出现什么?

如何快捷删除集合中的某一段?如何快速删除集合内某些元素?

数组可以转化为随机集吗?
不可。

---
泛型
如何设置?

类的泛型
将规定传入数据类型的权限交给用户
public class Point<E> {
private E x;
private E y;

public Point(E x,E y){
super();
this.x = x;
this.y = y;
}

public E getX(){
return x;
}

public void setX(E x){
this.x = x;
}

public String toString(){
return "["+x+","+y+"]";
}

public static void main(String[] args) {
// TODO Auto-generated method stub

}

}

集合的泛型
集合原本可以存储各种数据。
用泛型规定传入数据类型。
List<String> list = Arrays.asList(array);
System.out.println("size:"+list.size());


---
如何调用加强for循环?
for(数据类型 str:数组/List/Set){
System.out.println(str);
}

 


---
什么情况下操作切片会使得原有集合或数组元素改变?


泛型后的集合及方法可传入参数及返回值的类型?

以上是关于20170824 - Q - 集合框架的主要内容,如果未能解决你的问题,请参考以下文章

Thymeleaf框架遍历集合

集合详解(附集合框架图)

java关于集合框架,说法不正确的是( )

集合框架

集合框架

复习集合框架