OC字典存入数组,输出数组中数据,并且删除小明一项,然后进行排序、现根据班级排序,班级相同的用年龄进行排序

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

@autoreleasepool {

NSDictionary *[email protected]{@"name":@"小阳",

@"class":@"IOS8",

@"age":@"20"

};

NSDictionary *[email protected]{@"name":@"小红",

@"class":@"IOS8",

@"age":@"67"

};

NSDictionary *[email protected]{@"name":@"小丽",

@"class":@"IOS6",

@"age":@"12"

};

NSDictionary *[email protected]{@"name":@"小杨",

@"class":@"IOS8",

@"age":@"33"

};

NSDictionary *[email protected]{@"name":@"李俊威",

@"class":@"IOS6",

@"age":@"23"

};

NSDictionary *[email protected]{@"name":@"赵玉鑫",

@"class":@"IOS8",

@"age":@"9"

};

NSDictionary *[email protected]{@"name":@"胡旭阳",

@"class":@"IOS6",

@"age":@"20"

};

NSArray *arr=[[NSArray alloc]initWithObjects:dic1,dic2,dic3,dic4,dic5,dic6,dic7,nil];

//1.将以上四个字典存入数组中,输出数据以班级:XXX,姓名:XXX,年龄:XX格式。

NSLog(@"操作前数据????????????????????????");

for (NSDictionary *dic in arr) {

NSLog(@"班级:%@,姓名:%@,年龄:%@",dic[@"class"],dic[@"name"],dic[@"age"]);

}

//2.删除小阳此条数据,列出剩余数据,输出格式同上。

NSMutableArray *muarr=[NSMutableArray array];

for (int i=0; i<arr.count; i++) {

NSDictionary *dic=arr[i];

if ( ![ [dic objectForKey:@"name"] isEqual:@"小阳"]) {

[muarr addObject:dic];

}

}

NSLog(@"删除后数据????????????????????????");

for (NSDictionary *dic in muarr) {

NSLog(@"班级:%@,姓名:%@,年龄:%@",dic[@"class"],dic[@"name"],dic[@"age"]);

}

//3.按照班级进行排序,如果班级相同则按照年龄排序输出数据,格式同上。描述器

//NSSortDescriptor 指定用于对象数组排序的对象属性

NSSortDescriptor *classWithSort=[[NSSortDescriptor alloc]initWithKey:@"class" ascending:YES];

NSSortDescriptor *ageWithSort=[[NSSortDescriptor alloc]initWithKey:@"age" ascending:YES];

NSArray *elementarr=[NSArray arrayWithObjects:ageWithSort,classWithSort, nil];

NSArray *sortArray=[arr sortedArrayUsingDescriptors:elementarr];

NSLog(@"排序后数据????????????????????????");

for (NSDictionary *dic in sortArray) {

NSLog(@"班级:%@,姓名:%@,年龄:%@",dic[@"class"],dic[@"name"],dic[@"age"]);

}

}

return 0;

}

时间: 2024-12-20 19:00:47

OC字典存入数组,输出数组中数据,并且删除小明一项,然后进行排序、现根据班级排序,班级相同的用年龄进行排序的相关文章

典型问题分析4—StaticLinkList中数据元素删除时的效率问题

StaticLinkList中数据元素删除时的效率问题 void destroy(Node* pn) { SNode* space = reinterpret_cast<SNode*>(m_space); SNode* psn = dynamic_cast<SNode*>(pn);//从父类指针,转换为子类指针,直接调用dynameic_cast for(int i=0; i<N; i++) { if(psn == (space + i)) { m_used[i] = 0;

oc字典放入到数组里,根据字典里的属性排序(重点)

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSDictionary *[email protected]{@"name":@"小阳", @"class":@"IOS8", @"age":@"20" }; NSDictionary

sql:表中数据全部删除之后,重新插入时,从1开始增加

数据库中设置了自增列,有时候需要清楚数据库从新录入数据.最常见的做法就是使用sql语句"delete 表明名"或是直接选中数据,然后删除数据.但是再次插入数据的时候,你就会发现自增列会从上次删除数据的最大值的下一个值开始,而不是从1开始的.有没有一种感觉,感觉挺苦恼的. 现在有一个最简单暴力的方法,让你删除数据后,再次插入记录的时候,自增列从1开始. 直接从表中,将需要自增的字段进行修改,把自增这个选项进行取消,然后保存,保存之后再次对这个字段进行自增定义,这样子字段就会重新从1开始自

链表-1 链表中数据的删除

http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=1068 这是一个在链表中删除特定字符的代码,学习链表后第一次编写的一个代码. 1 #include <iostream> 2 #include <stdio.h> 3 #include <cstring> 4 #include <algorithm> 5 #include <math.h> 6 using namespac

【MySQL】:利用DML操作表中数据

DML(Data Manipulation Language):数据操作语言,用以操作表中数据. 假设现在已经在数据库中创建好了一个表,结构如下: 一.添加表记录 1.添加全部的字段值 INSERT INTO stu (id,score,addr) VALUES (1,67.7,'china'); -- 插入全部字段 INSERT INTO stu VALUES (1,67.7,'china'); -- 插入全部字段,同上 2.添加部分字段值 INSERT INTO stu (id,score)

PHP+MySql+Bootstrap实现用户界面数据的删除、修改与批量选择删除——实例操作

第一步:在数据库中建立要操作的信息表 如下图: 第二步:实现对该信息表中数据的删除功能 代码如下:main(主页面) <!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title>删除功能</title>        <script src="bootstrap/js/jquery-1.11.2.min.js

18.把1~100存到一维数组a[100]中,并输出。要求每行输出10个,数据所占宽度相同。

#include<iostream>using namespace std; int main(){    int a[101];    for(int i=1;i<=100;i++)    {        a[i]=i;    }    for(int j=1;j<=100;j++)    {        cout<<a[j]<<" ";        if(j%10==0)//简单的换行都会想那么久        {       

Java读取excel指定sheet中的各行数据,存入二维数组,包括首行,并打印

1. 读取 //读取excel指定sheet中的各行数据,存入二维数组,包括首行 public static String[][] getSheetData(XSSFSheet sheet) throws IOException { String[][] testArray = new String[sheet.getPhysicalNumberOfRows()][]; for(int rowId =0;rowId<sheet.getPhysicalNumberOfRows();rowId++)

在一组降序排列的数组中插入一个数据,插入后,数组中数据依然按降序排列

分析: 1.数组固定,是一个倒序的数组 2.插入一个数据,这个数据插在哪呢,要比较,与数组中所有的元素比较,这里需要一个循环,因为是降序的数组,所以当第一次遇到比自己小的,那么这个位置就是要插入的位置 3.因为上一步被占了位置,那么从这个插入的数据开始,后面的原本的数据都得向右移一位 /** * */ package com.cn.u4; import java.util.Scanner; /** * @author Administrator *向有序数组中插入学员成绩 * 在一组降序排列的数