java集合练习
分组练习:
List<List<Student>> list=new ArrayList<List<Student>>();这个是二维集合,分组的时候可以在第一层循环中创建一个list,用来接收循环的时候返回的对象,然后把list添加到二维集合中
package com.hanqi; import java.util.ArrayList;
import java.util.List;
import java.util.Random; public class fenzu {
public static void main(String[] args){
List<Student> l=DataSourceModel.getStuList();
List<List<Student>> list=new ArrayList<List<Student>>();
/*int[][] i=new int[5][]; int[] a=new int[]{1,2,3};
i[3]=a;
System.out.println(i[3][1]);*/
Random r=new Random();
int fenzur=4;
int zsize=13;
for(int i=0;i<(13/fenzur);i++){
List<Student> li= new ArrayList<Student> ();
for(int j=0;j<fenzur;j++){
int a=r.nextInt(4);
li.add(l.get(a));
l.remove(a);
if(l.size()<2){
li.add(l.get(0));
}
}list.add(li);
System.out.println(li);
System.out.println(li.size());
}
}
}

删除重复的对象就也可以用双层for循环来查找出重复的,也可以将list集合转化成set集合,因为set不可以重复,所以就将重复的自动删除了
public static void chachong(List l){
for(int a=0;a<l.size();a++){
int size=0;
for(int b=0;b<l.size();b++){
if(l.get(a).equals(l.get(b))){
size++;
if(size>1){
l.remove(b);
}
}
}
}
}
public static void kaitou( List l){//j开头的名字
for(int i=0;i<l.size();i++){
if('J'==(l.get(i).toString().charAt(0))){//判断两个字符相等可以用==
System.out.println(l.get(i));
}
}
}
public static void bnianling(List l){//比年龄
for(int a=0;a<l.size();a++){
if(((Student) l.get(a)).getAge()>25){//括号的student是强转成student型??
System.out.println(l.get(a));
}
}
}
}
因为map没有直接的iterator接口,所以可以动过keyset方法获得键值,将键值赋给set集合(因为,list可以重复,而set不可以重复)或者collection集合,就可以实现iterator接口了
Collection<Integer> c=m.keySet();
Iterator<Integer> i=c.iterator();
while (i.hasNext()){
int a=i.next();
if(a>=1004&&a<=1009){
System.out.println(a);
if(a==1005){
i.remove();
continue;
}}
java集合练习的更多相关文章
- Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结
2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...
- Scala集合和Java集合对应转换关系
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一 ...
- java集合你了解多少?
用了java集合这么久,还没有系统的研究过java的集合结构,今天亲自画了下类图,总算有所收获. 一.所有集合都实现了Iterable接口. Iterable接口中包含一个抽象方法:Iterator& ...
- 深入java集合学习1-集合框架浅析
前言 集合是一种数据结构,在编程中是非常重要的.好的程序就是好的数据结构+好的算法.java中为我们实现了曾经在大学学过的数据结构与算法中提到的一些数据结构.如顺序表,链表,栈和堆等.Java 集合框 ...
- Java集合框架List,Map,Set等全面介绍
Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +- ...
- Java集合框架练习-计算表达式的值
最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...
- 【集合框架】Java集合框架综述
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...
- Java 集合框架
Java集合框架大致可以分为五个部分:List列表,Set集合.Map映射.迭代器.工具类 List 接口通常表示一个列表(数组.队列.链表 栈),其中的元素 可以重复 的是:ArrayList 和L ...
- Java集合概述
容器,是用来装东西的,在Java里,东西就是对象,而装对象并不是把真正的对象放进去,而是指保存对象的引用.要注意对象的引用和对象的关系,下面的例子说明了对象和对象引用的关系. String str = ...
- 深入java集合系列文章
搞懂java的相关集合实现原理,对技术上有很大的提高,网上有一系列文章对java中的集合做了深入的分析, 先转载记录下 深入Java集合学习系列 Java 集合系列目录(Category) HashM ...
随机推荐
- JQuery树形目录插件Dynatree
最近做网页需要做一个树形目录功能.找了一下发现有很多JQuery插件都可以实现这个功能.选了一个自己觉得最满意的插件Dynatree做个学习笔记. 可以把静态的html转成树形目录,还可以动态创建添加 ...
- 【iOS】UIDynamicAnimator动画
创建动画 UIDynamicAnimator *animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view]; 协议代理 ...
- Bash的条件表达式求值
Bash的条件控制允许两种类型:1)命令的成功或失败 2)逻辑表达式的真假这两种类型都可以通过退出状态($?)来检验,$?=0为真,否则为假 一.命令的成功或失败 通过查看$?值$echo $? 二. ...
- IPhone开发“此证书是由未知颁发机构签名”解决办法
有一种情况是你删除了钥匙串中的系统文件,只要重新下载,并双击(会自动添加到钥匙串中)就ok了. 从浏览器中直接敲入下载地址:http://developer.apple.com/certificati ...
- javascript四舍五入tofixed
//toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. $("#renjunlirun").val(zongLiRun.toFixed(2));//金额
- 跨域,json与jsonp格式
好久都没有写随笔了,最近大家都忙着考试要放假了,我也要忙一忙喽.....不过再忙我还是来啦 简单的说,json是一种轻量级的数据交换格式.平时我们使用ajax等使用的一种数据形式,那么今天就说说jso ...
- Mathematica学习笔记1
非常喜欢Mathematica的"自动草稿纸"的理念,Magic Paper, 唔哈~ Mathematica的矩阵操作和Matlab的风格十分不同. [ ] 是一个Part运算符 ...
- JavaScript学习笔记(散)——继承、构造函数super
构造函数中的super 今天看<JavaScript设计模式与开发实践>时,在书中看到一段代码出现super语句,第一次看到这个关键字,所以上网查了下它的作用,发现这个关键字是来自java ...
- Vivo展柜灯怎样设计才吸引大量客户?
1.vivo展柜灯计划的目标是使消耗者在无限的时空中最无效地承受信息.因而,vivo展柜灯计划便是围绕着怎样无效地进步展现活动的服从和质量停止的.除了展现环境本身的计划之外,展现对象陈列方式的计划也是 ...
- Educational Codeforces Round 23.C
C. Really Big Numbers time limit per test 1 second memory limit per test 256 megabytes input standar ...