### 集合与数组的转换 #### 集合转换为数组 Collection提供了一个方法:**toArray**,可以将当前集合转换为一个数组 ```java package collection; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 集合转换为数组 * Collection提供了方法toArray可以将当前集合转换为一个数组 */ public class CollectionToArrayDemo { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("one"); list.add("two"); list.add("three"); list.add("four"); list.add("five"); System.out.println(list); // Object[] array = list.toArray(); /* 重载的toArray方法要求传入一个数组,内部会将集合所有元素存入该数组 后将其返回(前提是该数组长度>=集合的size)。如果给定的数组长度不足, 则方法内部会自行根据给定数组类型创建一个与集合size一致长度的数组并 将集合元素存入后返回。 */ String[] array = list.toArray(new String[list.size()]); System.out.println(array.length); System.out.println(Arrays.toString(array)); } }
# 总结 #### 常用方法: boolean add(E e):向集合中添加一个元素,成功添加则返回true int size():返回当前集合的元素个数 boolean isEmpty():判断当前集合是否为空集.当且仅当size=0时返回true. void clear():清空集合 boolean contains(Object o):判断集合是否包含给定元素 boolean remove(Object o):从集合中删除给定元素,成功删除返回true. boolean addAll(Collection c):将给定集合所有元素添加到当前集合中。 boolean removeAll(Collection c):删除当前集合中与给定集合的公有元素。 boolean containsAll(Collection c):判断当前集合是否包含给定集合中的所有元素。 Iterator iterator():获取用于遍历当前集合的迭代器 T[] toArray(T[] t):将当前集合转换为一个数组。参数为要转换的数组。 ### 迭代器 java.util.Iterator 迭代器用于遍历集合,不同的集合都提供了一个用于遍历自身元素的迭代器实现类。 使用迭代器遍历集合遵循的过程为:问->取->删。其中删除不是必要操作。 #### 常用方法 boolean hasNext():判断集合是否还有"下一个"元素可以遍历 E next():获取集合下一个元素 void remove():从集合中删除迭代器当前位置的元素(通过next获取的元素) ### List集合 list集合有两个常用的实现类: java.util.ArrayList:内部使用数组实现,查询性能更好。 java.util.LinkedList:内部使用链表实现,增删性能更好,首尾增删性能最佳。 性能没有苛刻要求时,通常使用ArrayList。 #### 常用方法 E get(int index):获取指定下标index处对应的元素 E set(int index, E e):将给定元素设置到index指定的位置,返回值为该位置被替换的元素。 void add(int index,E e):将给定元素插入到index指定的位置 E remove(int index):删除并返回下标index处对应的元素。 List subList(int start,int end):获取当前集合中start到end之间的子集。(含头不含尾) #### 集合转换为数组的操作 集合转换为数组,使用集合的toArray方法即可。
<!-- <h1-h6> 标题:标题独占一行 <center> 居中显示:该标签已经不建议使用(没有学习CSS前我们临时用) 包含在该标签中间的内容都会在页面上居中显示出来 <input> 输入组件:用于获取用户在页面上输入的信息。输入组件有多种呈现形式,可以由type 属性指定输入组件的样子 常见的有: type="text" 文本输入框 type="password" 密码输入框 type="radio" 单选框 type="checkbox" 多选框 type="button" 按钮 <a> 超链接:a标签中的属性href用于指定超链接跳转的网页地址 <br> 换行 <table>标签:表格。属性border用于指定边框。 <table>标签中包含<tr>标签用于表示行 <tr>标签中包含<td>标签用于表示列 <td>标签中常见属性: align:对其方式。left左对齐,right右对齐,center剧中对其 colspan:跨列合并列,合并是从左向右合并列 rowspan:跨行合并列,合并是从上向下合并列 --> <center> <!--<h1>百度</h1>--> <!-- 图片需要指定路径,当在页面上要定位本网站其它资源时(这里就是,在index.html页面上 要定位图片logo.png),这里的路径通常从"/"开始。而浏览器在理解"/"的位置是这样的: 浏览器会首先根据请求当前页面的路径: http://localhost:8080/index.html 来确定"/"的位置,而这个位置就是上述路径中抽象路径部分的第一个"/"的位置 因此src="/logo.png"时,浏览器实际请求的路径为: 在例如: 如果请求当前index.html页面时,请求路径为: http://localhost:8080/myweb/index.html 那该页面上图片的src="/logo.png" 此时浏览器理解的图片实际路径为? http://localhost:8080/logo.png -->